0

我需要对另一个系统进行 SOAP 调用。我使用SoapClientwsdl用我的文件调用它并得到了这个$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 客户端配置为这种格式吗?或者我将如何获得它?

4

1 回答 1

0

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

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

于 2013-08-28T10:22:56.283 回答