欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

这个wsdl该怎么使用?PHP>soapclient

程序员文章站 2022-06-04 18:30:43
...
地址: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描述:

号码不能为空
密码不能为空


使用代码如下:
$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' => '
号码不能为空
密码不能为空
');

$res=$soap->Login(param);

$res=$soap->_call('Login', array($param));

$res=$soap->_soapcall('Login', array($param));

?考: http://blog.csdn.net/fdipzone/article/details/21810347

$res = $soap->Login($param);

$res = $soap-> __soapCall('Login', array($param));