本文实例讲述了PHP中soap的用法,分享给大家供大家参考。具体用法分析如下:
PHP 使用soap有两种方式。
一、用wsdl文件
服务器端:
<?php<br />class service<br />{<br /> public function HelloWorld()<br /> {<br /> return "Hello";<br /> }<br /> public function Add($a,$b)<br /> {<br /> return $a+$b;<br /> }<br />}<br />$server=new SoapServer('soap.wsdl',array('soap_version' => SOAP_1_2));<br />$server->setClass("service");<br />$server->handle();<br />?>
资源描述文件,可以用工具(zend studio)生成。其实就是一个xml文件。
<br /><br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> </p><p> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <br /> <soap:binding style="document"<br /> transport="http<strong>+本文来源gao@daima#com搞(%代@#码网</strong><pre>搞代gaodaima码
://schemas.xmlsoap.org/soap/http” />
<soap:body use="literal"
namespace=”http://localhost/interface/” />
<soap:body use="literal"
namespace=”http://localhost/interface/” />
客户端调用:
<?php<br />$soap = new SoapClient('http://localhost/interface/soap.wsdl');<br />echo $soap->Add(1,2);<br />?>
二、不用wsdl文件
服务器端:
<?php<br />class service<br />{<br /> public function HelloWorld()<br /> {<br /> return "Hello";<br /> }<br /> public function Add($a,$b)<br /> {<br /> return $a+$b;<br /> }<br />}<br />$server=new SoapServer(null,array('uri' => "abcd"));<br />$server->setClass("service");<br />$server->handle();<br />?>
客户端:
<?php<br />try{<br /> $soap = new SoapClient(null,array(<br /> "location" => "http://localhost/interface/soap.php",<br /> "uri" => "abcd", //资源描述符服务器和客户端必须对应<br /> "style" => SOAP_RPC,<br /> "use" => SOAP_ENCODED<br /> ));</p><p> echo $soap->Add(1,2);<br />}catch(Exction $e){<br /> echo print_r($e->getMessage(),true);<br />}<br />?>
希望本文所述对大家的PHP程序设计有所帮助。