就拿查询号码归属地来举例:
第一种:__call()写法
<?php
$client = new SoapClient('http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl');
$parm=array('mobileCode'=>'18014085992');
// $result=$client->getMobileCodeInfo($parm);
$result = $client->__Call('getMobileCodeInfo',array('paramters'=>$parm)); //网友说不推荐这种书写方法,容易报错。我试过了,可以用,但是在之后的调用过程中,webservice老是出错,不知道是不是因为此方法有问题
print_r($result);
?>
第二种:函数写法
<?php
$client = new SoapClient('http://webservice.webxml.com.cn/WebServices/MobileCodeWS.asmx?wsdl');
$parm=array('mobileCode'=>'18014085992');
$result=$client->getMobileCodeInfo($parm);
echo ($result->getMobileCodeInfoResult);
?>
两种方法的对比:第一种返回一个object对象,需要用转换函数把对象转换成数组,第二种反悔一个数组中的某个元素。