View SOAP Response Example
A real SOAP response you can view as a sortable table or a foldable tree. Below the sample, every part of the message is explained — the Envelope, the optional Header, the Body, and what a Fault looks like — plus how to use Pretty JSON & XML to read any SOAP response in seconds.
The sample
A typical SOAP 1.1 response from a web service that returns a list of orders. Note the Envelope wrapper, a Header with a correlation ID, and a Body that holds the repeated Order elements:
<?xml version="1.0" encoding="UTF-8"?>
<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/">
<soap:Header>
<CorrelationId>a1b2c3d4-9f10-4e21-8c33-77aabbccddee</CorrelationId>
</soap:Header>
<soap:Body>
<GetOrdersResponse xmlns="https://example.com/orders">
<Order>
<Id>1001</Id>
<Customer>Ada Lovelace</Customer>
<Total>149.00</Total>
<Status>Shipped</Status>
</Order>
<Order>
<Id>1002</Id>
<Customer>Alan Turing</Customer>
<Total>72.50</Total>
<Status>Processing</Status>
</Order>
<Order>
<Id>1003</Id>
<Customer>Grace Hopper</Customer>
<Total>318.99</Total>
<Status>Shipped</Status>
</Order>
</GetOrdersResponse>
</soap:Body>
</soap:Envelope>
Envelope and Body wrappers, detects <Order> as the repeated element, and renders three rows with Id, Customer, Total, and Status as columns — while the Header's correlation ID stays visible as context.
What is a SOAP response?
SOAP (Simple Object Access Protocol) is an XML messaging format used by web services, especially in enterprise, banking, and legacy systems. A SOAP response is always wrapped in a <soap:Envelope>, which contains up to two children: an optional <soap:Header> for metadata, and a required <soap:Body> for the actual payload.
- Envelope — the outermost element that marks the message as SOAP and declares the SOAP namespace
- Header — optional metadata such as authentication tokens, correlation IDs, or routing hints
- Body — the response payload: the data the service returned, or a Fault if something went wrong
What a SOAP Fault looks like
When a SOAP service hits an error, the Body contains a <soap:Fault> instead of a result. It carries a faultcode (a short machine-readable category), a faultstring (a human-readable message), and sometimes a detail block with extra context:
<soap:Body>
<soap:Fault>
<faultcode>soap:Client</faultcode>
<faultstring>Unknown order id</faultstring>
</soap:Fault>
</soap:Body>
Paste a faulting response into the viewer and the Fault fields surface as their own labelled rows, so you can read the code and message without scanning raw XML.
Why view a SOAP response as a table?
SOAP responses are notoriously verbose — namespace prefixes on every tag, deep nesting, and wrapper elements that bury the data you actually care about. Reading them as raw XML is slow and error-prone. Reading the repeated records as a table lets you:
- Sort by any column — for example by Total to find the largest order, or by Status to group results
- Search across every record at once for a customer name or order id
- Spot missing or empty fields instantly — one blank cell in a column is easy to see
- Compare two responses from staging and production side by side
How Pretty JSON & XML handles SOAP
SOAP is just XML, so the viewer treats it the same way it treats any feed or document. When you paste a SOAP response, it:
- Parses the
Envelopeand looks past theHeaderandBodywrappers to find the real payload - Detects the repeated element inside the Body (here,
<Order>) and renders one row per record - Chooses the most useful fields as columns based on frequency and naming —
Id,Customer,Total,Status - Keeps single-value Header fields like the correlation ID visible as context above the table
Click any row to expand the full record, including nested elements, attributes, or namespace-prefixed fields. Everything is parsed locally in your browser — no SOAP payload is ever uploaded to a server.