PHP SOAP调用格式



我需要对另一个系统进行SOAP调用。我使用SoapClient用我的wsdl文件调用它,得到了这个$soap->__getLastRequest():

<ns1:getData>
  <sqlName xsi:type="xsd:string">getDataBESTAND</sqlName>
  <sqlParameter xsi:type="xsd:string">MANDANT=029</sqlParameter>
  <ziel xsi:type="xsd:string">PISTEST</ziel>
</ns1:getData>

但目标系统无法读取。我被告知它应该更像这样:

<vas:getData xmlns:vas="vasws.Query"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
soapenv:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
  <sqlName xsi:type="xsd:string">getDataBESTAND</sqlName>
  <sqlParameter xsi:type="xsd:string">MANDANT=029</sqlParameter>
  <ziel xsi:type="xsd:string">PISTEST</ziel>
</vas:getData>

我可以将PHP SOAP客户端配置为这种格式吗?或者我将如何获得这种格式?

原来客户给了我错误的请求URL。两个查询都有效。

对于第一个ns1,必须在<SOAP-ENV:Envelope xmlns:ns1="vasws.Query" ... 中定义

最新更新