php调用Webservice基本语法如下:
$url ='xxxxxxx.cn' //链接服务器端 $client = new SoapClient($url);
通过以上语法已经连接到webservice,也可将wsdl在本地使用,下面的语法将输出所有webservice的方法
$client->__getFunctions()
获得了soap的所有操作方法,我们需要通过以下方法来看某个方法的传参数格式
var_dump($client->__getTypes());
以上输出的结果中如下格式:
array(32) {
[0]=>
string(61) "struct registEx {
string arg0;
string arg1;
string arg2;
}"
[1]=>
string(40) "struct registExResponse {
int return;
}"我找到我需要操作的方法registEx(),看到需要传参3个参数,分别是arg0,arg1,arg2,开始传参调用
$url = 'xxxxxx.cn';
//链接服务器端
$client = new SoapClient($url);
$paras=array(array('arg0'=>"HBSDK-99566JCSST",'arg1'=>"Baimuvkey",'arg2'=>'220546'));
$reinfo = $client->__soapCall('registEx',$paras);
var_dump($reinfo);或许很多人有疑问参数为什么都是arg格式,不是直接操作原函数直接传参,我猜测可能是因为php为了统一操作而这样使用的把