0

我正在尝试向肥皂客户端返回 xpath 答案(我使用 xml 文件作为数据库)。该方法在服务器端调用时工作正常,不幸的是,客户端总是得到一个恼人的“看起来我们没有 XML 文档”错误,这种 xml 答案

<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ns1="urn://localhost/projet/srv" xmlns:SOAP-ENC="http://schemas.xmlsoap.org/soap/encoding/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:ns2="http://xml.apache.org/xml-soap" SOAP-ENV:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/">
<SOAP-ENV:Body>
<ns1:getTypesVehiculeResponse>
<return SOAP-ENC:arrayType="SOAP-ENC:Struct[4]" xsi:type="SOAP-ENC:Array">
<item xsi:type="SOAP-ENC:Struct">
<@attributes xsi:type="ns2:Map">
<item>
<key xsi:type="xsd:string">id</key>
<value xsi:type="xsd:string">0</value>
</item>
...
</return>
</ns1:getTypesVehiculeResponse>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

我应该使用另一种方式来发送我的 XML 数据库答案而不是直接返回 xpath 答案吗?

4

1 回答 1

2

SoapClient应该消除对 xpath 查询的需要,因为它已经解析了 SOAP XML,但是如果您仍然想使用 xpath,您可以尝试simplexml按照这个答案使用。如果你对命名空间有疑问,试试这个

于 2013-01-27T22:13:52.367 回答