我创建了一个使用我无法控制的wsdl的SOAP客户端。我调用webservice并返回null
。
当我从__getLastRequest()
复制XML并在SOAP UI中使用它时,我得到了回复。
当我在soap客户端上查看__last_response
时,我可以看到一个xml字符串
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body>
<GetResponse xmlns="http://tempuri.org/">
<GetResult>5923946</GetResult>
</GetResponse>
</s:Body>
</s:Envelope>
当我尝试将__last_response
传递给simplexml_load_string
时,不会创建对象。
为什么不能使用两种情况下提供的XML创建对象?
答案 0 :(得分:0)
SimpleXML无法加载其中包含命名空间的xml字符串。我发现的解决方案是删除命名空间。你可以这样做:
$response=str_replace("<s:","",$response);
希望这能解决你的问题。