PHP中使用SOAP

php提供了一个专门用于soap操作的扩展库,使用该扩展库后可以直接在php中进行soap操作。从php5.0后,php就自带了soap的支持。在php.ini文件中找到如下所示的一行代码,去掉前面的注释(;)。
;extension=php_soap.dll
修改后,重启web服务器即可激活soap扩展。
1、SoapServer
$soap = new SoapServer($wsdl,$array);

2、SoapClient
$soap = new SoapClient($wsdl,$array);

3、SoapFault
$fault = new SoapFault($faultcode,$faultstring);


有两种引用方式:
第一种是引入wsdl文件,第二种是不用wsdl文件,下面给出的是不用wsdl文件。


服务器端

<?php
class service
{
  public function HelloWorld()
   {
      return  "Hello";
   }
  public  function Add($a,$b)
   {
      return $a+$b;
   }
}
$server=new SoapServer(null,array('uri' => "abcd"));
$server->setClass("service");
$server->handle();
?>

客户端

<?php
try{
$soap = new SoapClient(null,array(
"location" => "http://localhost/interface/soap.php",
"uri"      => "abcd",  //资源描述符服务器和客户端必须对应
"style"    => SOAP_RPC,
"use"      => SOAP_ENCODED
   ));

echo $soap->Add(1,2);
}catch(Exction $e){
echo print_r($e->getMessage(),true);
}
?>

你可能感兴趣的:(SOAP)