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); } ?>