地址:http://in.commchina.net:8071/service.asmx?WSDL
查找出函数: var_dump($soap->__getFunctions());
得到: "Login Login(LoginWrapper $parameters)"
查询函数参数:var_dump($soap->__getTypes());
得到:"struct LoginWrapper {string _xml;}"
说明书输入xml描述:
<Param>
<Number>号码不能为空</Number>
<Pwd>密码不能为空</Pwd>
</Param>
使用代码如下:
$arr = array(
'Param'=>array(
'Number'=>'4*******',
'Pwd'=>'********'
)
);
try{
$wsdl = 'http://in.commchina.net:8071/service.asmx?WSDL';
$soap = new SoapClient($wsdl);
$res=$soap->Login(array('_xml'=>$arr));
}catch(Exception $e){
print_r($e->getMessage(),true);
}
错误提示:服务器无法处理请求。 ---> 根级别上的数据无效。 行 1,位置 1。
------解决方案--------------------
Login Login(LoginWrapper $parameters)
struct LoginWrapper {
string _xml;
}
$param = array( '_xml' => '<Param>
<Number>号码不能为空</Number>
<Pwd>密码不能为空</Pwd>
</Param>');
$res=$soap->Login(param);
或
$res=$soap->_call('Login', array($param));
或
$res=$soap->_soapcall('Login', array($param));