【发布时间】:2015-08-17 22:16:37
【问题描述】:
我正在使用 php 与 SOAP 中的 web 服务进行通信。这是我的代码:
$data = array('name' => 'test', 'age' => 20);
$WDSL = 'http://xxx.xxxxx.xxx/wdsl.ibs?wsdl';
$SOAP = new SoapClient($WDSL, array('trace' => true));
$RESULT = $SOAP->__soapCall('Some_Service', $data);
由于某种原因,XML 是错误的:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn:Some_Crap"><SOAP-ENV:Body><ns1:Some_Service/><param1>test</param1><param2>20</param2> ...
当它应该是变量名时,为什么XML节点名是paramX?我做错了什么??
谢谢
更新: 所以我列出了该网络服务的功能,我得到的是:
Some_Service_Response Some_Service(Some_Service $parameters))
我改变了我的电话,现在是这样:
$SOAP->__call('Some_Service', array('Some_Service', $data));
而且 XML 仍然是错误的:
<?xml version="1.0" encoding="UTF-8"?> <SOAP-ENV:Envelope xmlns:SOAP-ENV="
http://schemas.xmlsoap.org/soap/envelope/"
xmlns:ns1="urn:iwaysoftware:ibse:jul2003:HR_Master"><SOAP-ENV:Body><ns1:Some_Service/>
<param1><item><key>SomeKey</key><value>SomeValue</value> ....
我仍然收到<param1><item><key>SomeKey</key><value>SomeValue</value> instead of
<Somekey>SomeValue</Somekey>
所以问题是,Web 服务是否工作不正常,还是我这边?
【问题讨论】: