SOAP guide
How to debug a SOAP Fault
Read the standard fault fields before application detail, preserve the HTTP response, and reduce a failing SOAP request without losing context.
8 min read · Updated 2026-08-21
The short answer
Capture the HTTP status, headers, and complete envelope, then identify the SOAP version. Read the standard code and reason first, use role or node to locate the failing processor, and interpret Detail only with the service's application contract. Reproduce with the smallest request that preserves required headers.Preserve transport and envelope together
A SOAP Fault is part of an HTTP exchange. Status, Content-Type, action headers, correlation IDs, and intermediary headers can explain a failure that the XML body alone cannot. Store a redacted copy before client libraries turn it into a generic exception.
- Record the final endpoint URL and HTTP status.
- Record Content-Type, action, authentication scheme, and correlation headers.
- Preserve the raw response envelope and its character encoding.
- Redact tokens, personal data, and secrets without changing structure.
Read standard fields in protocol order
In SOAP 1.2, Code classifies the failure and may contain nested Subcode values. Reason provides localized human text. Node and Role identify the processing point, while Detail carries application-specific diagnostics.
<env:Envelope xmlns:env="http://www.w3.org/2003/05/soap-envelope">
<env:Body><env:Fault>
<env:Code><env:Value>env:Sender</env:Value></env:Code>
<env:Reason><env:Text xml:lang="en">Unknown product</env:Text></env:Reason>
<env:Detail><m:sku xmlns:m="urn:example:catalog">42</m:sku></env:Detail>
</env:Fault></env:Body>
</env:Envelope>Reduce the request without removing its contract
Begin with a known-good request for the same operation and change one field at a time. Keep namespace declarations, security and routing headers, action metadata, and required wrapper elements even when the business payload is minimized.
If the fault is Sender, inspect the request and application Detail. If it is Receiver, preserve the correlation ID and server timestamp for the service operator; repeated retries may duplicate a non-idempotent operation.
Get started
Bring order to the XML your team can't afford to ignore.
Create a free account and get a private workspace to search, validate, diff, and monitor your XML feeds, sitemaps, schemas, and vendor integrations.