My guess is the response is gzip’d (or compressed with other Content-Encoding directive). Clients like Postman will automatically decompress such responses without you needing to do anything explicit.
You can check this by viewing the headers that are returned. If you share a screen shot of variables returned in the header output, we can confirm that is what is happening.
In the request you can send the Accept-Encoding: identity to tell the server to not encode the response. But this is not always honored. We had a case where an API always compressed regardless of what we sent in Accept-Encoding. And did so only for error responses whereas 2xx responses were always clear text.
You can create your own general purpose http service that adds capability such as this to the built-in pub.client:http .
The steps are not checking the HTTP response – but should.
Side note: I have never seen a case where the claim is “data is corrupted” that the data is actually corrupted. Invariably, it is due to incorrect character endoding (e.g. using ASCII for parsing UTF-8 byte) or to compression. The rule of thumb is if you see binary data when you expect to see text, the most likely culprit is incorrect assumptions/information about what the byte stream represents.
#webMethods