SOAP is an XML-based protocol for exchanging structured messages between applications, most often over HTTP. The acronym originally stood for Simple Object Access Protocol, though by the time the W3C published Version 1.2 the working group dropped the expansion and treated SOAP as a name in its own right. The specification defines a message construct, a processing model, and a framework for binding messages to underlying transport protocols, all expressed in XML.
The W3C SOAP Version 1.2 Recommendation was first issued in 2003 and reissued as a Second Edition on 27 April 2007, incorporating accumulated errata. Part 1, “Messaging Framework,” defines the core. Every SOAP message is an XML document with a root Envelope element containing an optional Header and a mandatory Body. The Header carries metadata such as security tokens, routing, or transaction context that intermediaries can process, while the Body holds the actual application payload. This envelope model lets SOAP layer extensions on top of a stable core without changing the base format.
SOAP grew out of earlier XML-over-HTTP RPC efforts, most directly XML-RPC, and was originally developed in the late 1990s with contributions from Microsoft, DevelopMentar, and UserLand. SOAP 1.1 was submitted to the W3C as a Note in 2000, and the W3C then chartered the XML Protocol Working Group to standardize the technology, producing SOAP 1.2 as a formal Recommendation. Unlike XML-RPC, SOAP was designed to be transport-neutral and extensible rather than tied to a single calling convention.
In practice SOAP rarely traveled alone. It anchored a family of specifications collectively known as the WS-* stack, including WS-Security, WS-ReliableMessaging, WS-Addressing, and others, that added enterprise features like message-level encryption, guaranteed delivery, and complex routing. A SOAP service’s operations and message types were typically described by a separate contract written in WSDL, allowing tools to generate client and server code automatically.
SOAP dominated enterprise integration and service-oriented architecture in the early-to-mid 2000s, particularly in environments using Java EE and Microsoft .NET tooling that could consume WSDL contracts directly. Its verbosity, the complexity of the WS-* stack, and the rise of simpler HTTP-and-JSON approaches led many newer public APIs to favor REST instead. SOAP nevertheless remains widely deployed in banking, telecom, healthcare, and other domains where its formal contracts and message-level security guarantees are valued.