웹 서비스 튜토리얼로그인
웹 서비스 튜토리얼
작가:php.cn  업데이트 시간:2022-04-11 14:41:17

웹 서비스 인스턴스



모든 애플리케이션에는 웹 서비스 구성 요소가 있을 수 있습니다.

웹 서비스의 생성은 프로그래밍 언어의 종류와는 아무런 관련이 없습니다.

이 장에서는 PHP의 SOAP 확장을 사용하여 웹 서비스를 만드는 방법을 소개합니다.

SOAP에는 NO-WSDL과 WSDL의 두 가지 작동 모드가 있습니다.

  • NO-WSDL 모드: 매개변수를 사용하여 사용할 정보를 전달합니다.

  • WSDL 모드: WSDL 파일 이름을 매개변수로 사용하고 WSDL에서 서비스에 필요한 정보를 추출합니다.


예: PHP 웹 서비스

예를 시작하기 전에 PHP에 SOAP 확장이 설치되어 있는지 확인해야 합니다. phpinfo를 확인하면 SOAP 확장이 설치되었음을 나타내는 다음 정보가 나타납니다.

이 예에서는 PHP SOAP를 사용하여 간단한 웹 서비스를 만듭니다.

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

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

    public function getUrl(){
        return "www.php.cn";
    }
}

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

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

Client 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();
}


PHP 중국어 웹사이트