0

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 ?

1 Answer 1

1

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.

Sign up to request clarification or add additional context in comments.

Comments

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.