Latest web development tutorials

웹 서비스 인스턴스

모든 애플리케이션은 웹 서비스 구성 요소를 가질 수있다.

카테고리 웹 서비스 생성 및 프로그래밍 언어에 독립적.

이 장에서는 우리는 웹 서비스를 만들기 위해 PHP의 SOAP 확장의 사용을 소개합니다.

SOAP는 두 가지 작동 모드, NO-WSDL과 WSDL있다.

  • NO-WSDL 모드 : 매개 변수를 사용하여 정보를 전달 없음.
  • WSDL 모드 : 파라미터로 WSDL 파일 이름을 사용하여 서비스 WSDL로부터 필요한 정보를 추출한다.

하나의 예 : PHP 웹 서비스

당신이 인스턴스를 시작하기 전에, 우리는 PHP의 SOAP 확장을 설치할지 여부를 결정해야합니다. 은 phpinfo 이미 SOAP 확장을 설치 나타납니다 다음과 같은 메시지를 참조하십시오 :

이 예에서 우리는 간단한 웹 서비스를 만들기 위해 PHP의 SOAP를 사용합니다.

다음과 같이Server.php 파일 서버 코드는 다음과 같습니다

<?php 
// SiteInfo 类用于处理请求
Class SiteInfo
{
    /**
     *    返回网站名称
     *    @return string 
     *
     */
    public function getName(){
        return "本教程";
    }

    public function getUrl(){
        return "www.w3big.com";
    }
}

// 创建 SoapServer 对象
$s = new SoapServer(null,array("location"=>"http://localhost/soap/Server.php","uri"=>"Server.php"));

// 导出 SiteInfo 类中的全部函数
$s->setClass("SiteInfo");
// 处理一个SOAP请求,调用必要的功能,并发送回一个响应。
$s->handle();
?>

다음과 같이 클라이언트Client.php 파일의 코드는 다음과 같습니다

<?php
try{
  // non-wsdl方式调用web service
  // 创建 SoapClient 对象
  $soap = new SoapClient(null,array('location'=>"http://localhost/soap/Server.php",'uri'=>'Server.php'));
  // 调用函数 
  $result1 = $soap->getName();
  $result2 = $soap->__soapCall("getUrl",array());
  echo $result1."<br/>";
  echo $result2;
} catch(SoapFault $e){
  echo $e->getMessage();
}catch(Exception $e){
  echo $e->getMessage();
}

그 다음 우리는 HTTP를 방문하여 다음과 같이 //localhost/soap/Client.php, 출력 결과는 다음과 같습니다 :