php提供了了一个专门用于soap操作的扩展库,使用该扩展库后可以直接在php中进行soap操作。
从php5.0后,php就自带了soap的支持。
在php.ini文件中如下代码,去掉前面的注释(;)。
;extension=php_soap.dll
修改后,重启机器即可激活soap扩展。
以下是调用的例子:
1、SoapServer
2、SoapClient
3、SoapFault
两种引用方式:
方式1,引入wsdl文件。
方式2,不使用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);
}
?>