我试图将一个xpath答案返回给soap客户端(我使用xml文件作为数据库)。 在服务器端调用该方法时工作正常,不幸的是,客户端总是得到一个恼人的“貌似我们没有XML文档”错误,这种 xml answer:
<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应答吗?
答案 0 :(得分:2)
SoapClient
应该消除对xpath查询的需要,因为它已经解析了SOAP XML,但是如果你仍想使用xpath,你可以尝试使用simplexml
this answer。如果您遇到名称空间问题,try this