Skip to main content

Search 400 pages — tools, formats, elements, namespaces, directory, comparisons, XPath, datatypes, glossary, parse errors, schema errors, use cases, guides, blog and product.

SOAP guide

SOAPAction in SOAP 1.1 vs SOAP 1.2

Put the action value in the correct HTTP location for each SOAP version and debug dispatch failures without changing a valid envelope blindly.

7 min read · Updated 2026-08-21

The short answer

SOAP 1.1 carries the action intent in the separate SOAPAction HTTP header and normally sends the envelope as text/xml. SOAP 1.2 uses the optional action parameter on application/soap+xml instead. Match the envelope namespace, media type, action location, and exact operation value to the service contract; moving only the XML body does not convert versions.

Send the action in the version-specific location

The action is transport metadata used for intent, routing, or dispatch. It is not inferred reliably from the first Body child, and the same URI may appear in WSDL or service configuration without being written inside the envelope.

SOAP 1.1 HTTP headers
Content-Type: text/xml; charset=utf-8
SOAPAction: "urn:example:GetOrder"
SOAP 1.2 HTTP content type
Content-Type: application/soap+xml; charset=utf-8; action="urn:example:GetOrder"

Copy the operation value exactly from the contract

Action values are URI identifiers and need not resolve in a browser. Treat letter case, punctuation, version segments, and trailing separators as significant, and do not derive a value by guessing from the operation's element name.

  • Inspect the WSDL binding or service documentation for the operation.
  • Compare the raw outbound headers after framework and proxy rewriting.
  • Keep quotes and parameter syntax appropriate to the HTTP library in use.
  • Do not use action metadata as an authorization decision by itself.

Debug transport and envelope as one versioned request

A server may reject a request before parsing the Body when its media type or action is wrong. Capture a known-good request, compare headers and envelope namespace together, then change one versioned layer at a time.

SOAP 1.2 defines the action parameter as optional at the protocol level, but a specific binding or service contract can still expect a value for dispatch. Follow that contract without adding the SOAP 1.1 header to a SOAP 1.2 request by habit.

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.