Quick answer

Inside the Envelope you must have exactly one Body (normal response) or one Fault (error).

SOAP Missing Body or Fault

Inside the Envelope you must have exactly one Body (normal response) or one Fault (error). If both are missing, or the structure is wrong, the response is invalid.

Common causes

How to fix

Examples

Bad

<soap:Envelope xmlns:soap="..."><soap:Header/></soap:Envelope>

Good

<soap:Envelope xmlns:soap="..."><soap:Body><Result>OK</Result></soap:Body></soap:Envelope>

A SOAP response must follow the XML structure defined by the SOAP specification: the Envelope contains exactly one Body for a normal message, or exactly one Fault when an error is returned. This validator helps you identify responses that are missing both elements, contain the wrong element order, or use invalid nesting that breaks SOAP parsing. It is useful for developers debugging web services, API integrations, middleware, and enterprise systems that exchange SOAP XML across platforms.

How This Validator Works

This checker inspects the SOAP envelope structure and verifies that the message contains one valid payload container inside the Envelope. In a compliant SOAP message, the Body element carries the application response, while the Fault element carries error information. If neither is present, or if the response includes multiple body-like elements, the message is considered invalid.

Common Validation Errors

Where This Validator Is Commonly Used

Why Validation Matters

SOAP clients often rely on strict XML structure to parse responses correctly. If the Envelope does not contain the expected Body or Fault element, downstream systems may fail to deserialize the message, hide the real error, or treat the response as unusable. Validating the structure early helps teams catch contract mismatches, namespace issues, and server-side formatting problems before they affect production workflows.

Technical Details

SOAP messages are XML documents governed by the SOAP 1.1 and SOAP 1.2 specifications. The Envelope is the top-level container, and it must include a single Body element for application data or a single Fault element for error reporting. Depending on the SOAP version and implementation, namespace declarations, element order, and encoding rules may also affect whether a response is accepted by the client.

Expected root SOAP Envelope
Required payload Exactly one Body or one Fault
Common format XML with SOAP namespace declarations
Typical failure mode Empty envelope, invalid nesting, or malformed XML

FAQ

What does “Envelope must contain Body or Fault” mean?

It means the SOAP message structure is incomplete or invalid. A normal SOAP response must include a Body, and an error response must include a Fault. If neither is present, the message does not meet SOAP formatting rules and may be rejected by the client or parser.

Can a SOAP Envelope contain both Body and Fault?

In standard SOAP usage, the Envelope should contain exactly one Body for normal content or one Fault for an error response. Having both in the same response is generally invalid and may indicate a server bug, transformation issue, or incorrectly generated XML.

Why would a SOAP response be missing the Body element?

This can happen when a service returns an empty XML document, a proxy strips content, an exception interrupts response generation, or the server emits a non-SOAP payload. Namespace mistakes and template errors are also common causes in legacy integrations.

Is a Fault required when the request fails?

Not always, but in SOAP a structured Fault is the standard way to report protocol or application errors. If the service returns an error without a valid Fault, clients may not be able to interpret the failure correctly or extract useful diagnostic information.

Does this error mean the XML is not valid?

Not necessarily. The XML may be well-formed but still invalid as a SOAP message. For example, the document can parse successfully while still failing SOAP rules because the Envelope does not contain the required Body or Fault element.

How do namespaces affect this validation?

SOAP validators often depend on the correct namespace for the Envelope, Body, and Fault elements. If the namespace URI is wrong, missing, or inconsistent, the message may look correct visually but still fail SOAP validation because the elements are not recognized as SOAP elements.

Can middleware cause this error?

Yes. API gateways, ESBs, XML transformers, and reverse proxies can alter or strip SOAP content during routing, logging, or security processing. If they remove the Body, rewrite namespaces, or inject invalid nodes, the final response may fail validation.

What should I check first when this error appears?

Start by confirming that the response has a valid SOAP Envelope, then verify that exactly one Body or one Fault exists inside it. After that, inspect namespaces, XML well-formedness, and any middleware or server-side templates that may be modifying the message.

Is this validator useful for SOAP 1.1 and SOAP 1.2?

Yes, the core structure check is relevant to both versions, although some fault formatting details differ between SOAP 1.1 and SOAP 1.2. If you are debugging a specific implementation, it is still important to confirm which SOAP version the service expects.

Related Validators & Checkers

FAQ

Can SOAP Envelope have both Body and Fault?
No. It must have exactly one: either Body (success) or Fault (error).
Where does my response XML go?
Inside the Body element as direct child(ren) of Body.

Fix it now

Try in validator (prefill this example)

Related

All tools · Canonical