当前位置: 代码迷 >> PHP >> 这个wsdl该如何使用?PHP->soapclient
  详细解决方案

这个wsdl该如何使用?PHP->soapclient

热度:445   发布时间:2016-04-28 18:43:26.0
这个wsdl该怎么使用?急!PHP-->soapclient
地址: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));
  相关解决方案