简体   繁体   中英

PHP SOAP xml response not decode xml tags

SOAP server try to return corrupted xml, and I'm getting error: looks like we got no XML document

Corrupted xml looks like:

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

Code is:

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

$out = ob_get_contents();

ob_end_clean();

echo $out;

exit;

I try add echo html_entity_decode($response); but still not work, where can be problem with encoding ?

First of all SoapServer::handle returns no response. Construction like

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

does not make much sense to me.

Secondly, patching corrupted request is a slippery slope. Don't encourage clients to send you junk and expect sensible response. You take a lot of responsibility to make weak assumptions which leads to unpredictable behaviour and hidden bugs in your server implementation.

The SOAP server should accept valid SOAP Envelope and reject everything else.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM