PHP SOAP xml响应不解码xml标记

时间:2016-02-01 08:47:33

标签: php xml soap encoding

SOAP服务器尝试返回损坏的xml,我收到错误:looks like we got no XML document

损坏的xml看起来像:

<loyaltyReturn xsi:type="xsd:string">&lt;?xml version="1.0"?&gt;
&lt;

代码是:

ob_start();
$response = $this->soap->handle();
echo $response;

$out = ob_get_contents();

ob_end_clean();

echo $out;

exit;

我尝试添加echo html_entity_decode($response);但仍无法正常工作,编码可能会出现问题?

1 个答案:

答案 0 :(得分:1)

首先SoapServer::handle不返回任何回复。像

这样的建设
$response = $this->soap->handle();
echo $response;

对我来说没有多大意义。

其次,修补损坏的请求是一个滑坡。不要鼓励客户向您发送垃圾并期待合理的回应。你承担了很多责任,做出微弱的假设,导致你的服务器实现中出现不可预测的行为和隐藏的错误。

SOAP服务器应该接受valid SOAP Envelope并拒绝其他所有内容。