如果要连接web service,目前比较通用的是使用soap的方式连接,对我们影响最直接的就是要学会使用soapclient,下面就对soapclient的使用作一些总结,希望能有所帮助。
一般来说有两种常用的连接方法,一种是使用wsdl文件,另一种是直接连接远程服务。
对于第一种方法,wsdl文件可以放在本地,也可以是通过远程引用,具体方法如下:
$soap = new SoapClient("file.wsdl");
至于wsdl文件是什么,有什么作用,内容包含什么,这点有要深入学习的朋友可以自行查找学习,这里不多说,总之这样就算生成了一个soapclient对象了。
另一种方法是不提供wsdl的,具体如下:
$soap = new SoapClient(null,array("location"=>"服务地址","uri"=>"命名空间"));
两种方法只是提供了一种最简单的对象生成,如果还有更多参数,可以通过数组继续增加的,这要看提供web service的服务方的文档来定夺了。
对象生成后,下一步即是调用方法:
$result = $soap->__soapCall("method",array());
method是服务方提供的方法名,后面的数组是要传递过去的值,需要根据文档需求来传递。
另外有些服务商对编码还有要求,所以在执行调用之前,有的还需要对传递的值进行编码转换。
$result是通过调用得到的数据,直接打印在页面即可看到结果,如果一步即成功,那么恭喜你,如果返回的结果有错误,那还需要根据对方提供的文档一步步的排错,直到得到正确的结果为止。