【发布时间】:2017-05-26 20:08:56
【问题描述】:
我必须调用具有这种结构的 SOAP(通过 SOAPUI 获得):
<soapenv:Envelope xmlns:soapenv='http://schemas.xmlsoap.org/soap/envelope/'
xmlns:v3='http://v3.ws.server.ldap.ws.xxx/'
xmlns:cod='http://server/Usr/codeUsr'>
<soapenv:Header/>
<soapenv:Body>
<v3:getUsr>
<cod:codeUsr>P012997</cod:codeUsr>
</v3:getUsr>
</soapenv:Body>
</soapenv:Envelope>
客户是: $client = new SoapClient("http://xxx.xxx.xxx.xxx:8080/ws-ldap3/wServiceV3?wsdl");
到目前为止,我尝试过:
echo "a(TT).<br/>";var_dump($client->getUsr('P012997'));
echo "b(TT).<br/>";var_dump($client->getUsr(array('cod' => 'P012997')));
echo "c(TT).<br/>";var_dump($client->getUsr(array('codeUsr' => 'P012997')));
echo "d(TT).<br/>";var_dump ($client->__soapCall('getUsr', array('parameters' => array('cod' => 'P012997'))));
echo "e(TT).<br/>";var_dump ($client->__soapCall('getUsr', array('parameters' => array('codeUsr' => 'P012997'))));
echo "f(TT).<br/>";var_dump ($client->__soapCall('getUsr', array('cod' => 'P012997')));
echo "g(TT).<br/>";var_dump ($client->__soapCall('getUsr', array('codeUsr' => 'P012997')));
没有成功。如何传递参数codeUsr?
TIA,
【问题讨论】:
-
这应该可以工作 var_dump($client->getUsr(array('codeUsr' => 'P012997')));你有什么错误吗?反应如何?
-
感谢您的回复。该方法返回所有用户-当参数不正确时-,您建议(c)尝试。没用。
-
我知道这是 c 尝试,但我想知道 PHP 和 soapui 的实际响应,我遇到了类似的问题,我建议您开始考虑 Web 服务可能有问题,因为应该可以正常工作。
-
btw 使用这个 $client->__getLastRequest() 和 $client->__getLastResponse(),添加它以使它们工作 $client = new SoapClient("path.../wServiceV3?wsdl",数组("trace"=>1));
-
$client->__getLastRequest() string(305) "P012997" && $client->__getLastResponse() string(26255006) ...
标签: php web-services soap