SOAP API
SOAP (Simple Object Access Protocol) is an XML-based messaging protocol for exchanging structured information between systems, typically over HTTP, with a formal contract (WSDL) defining the exact operations, message formats, and data…
Definition
SOAP (Simple Object Access Protocol) is an XML-based messaging protocol for exchanging structured information between systems, typically over HTTP, with a formal contract (WSDL) defining the exact operations, message formats, and data types an API supports.
Overview
SOAP predates the modern REST API style and takes a much more formal, contract-first approach to building web services. Every SOAP message is an XML document with a defined envelope, header, and body structure, and the entire interface — every operation, its parameters, and its return types — is described in a WSDL (Web Services Description Language) file that client tooling can use to generate strongly typed code automatically. This rigor made SOAP popular in enterprise, financial, and government systems during the 2000s, where strict contracts, built-in error handling, and extensions like WS-Security for message-level encryption and WS-ReliableMessaging for guaranteed delivery were valued over simplicity. That same rigor is also SOAP's biggest drawback compared to REST or GraphQL: XML payloads are verbose, the specification is complex, and the tooling overhead is heavier, which is why most new public APIs today are built as REST or GraphQL services returning JSON instead. SOAP hasn't disappeared, though — it remains common in legacy enterprise integrations, some banking and payment systems, and industries like healthcare and telecom that built on it decades ago and have strong reasons not to rip it out. Developers working with SOAP typically use a WSDL-aware client library that turns the XML contract into native function calls, hiding most of the raw envelope construction. Understanding SOAP is still useful for engineers integrating with older enterprise systems, even as most greenfield API design favors REST-style resources or typed schemas like GraphQL.
Specification
- XML-based message format with a strict envelope/header/body structure
- Formal contract defined via WSDL, enabling generated client code
- Built-in extensions for security (WS-Security) and reliable delivery
- Protocol-agnostic in theory, though usually run over HTTP
- Strong typing and standardized error handling via SOAP faults
- Heavier tooling and payload size than REST or GraphQL
Use Cases
History
SOAP is an XML-based messaging protocol for exchanging structured information between web services. Its lineage traces to 1998, when work by Dave Winer, Don Box (of DevelopMentor), Bob Atkinson, and Mohsen Al-Ghosein for Microsoft produced both XML-RPC (shipped by Winer in 1998) and the design that became SOAP. The SOAP 1.1 specification was published as a W3C Note on May 8, 2000, and SOAP 1.2 became a W3C Recommendation on June 24, 2003. The name originally stood for "Simple Object Access Protocol," but that expansion was formally dropped in version 1.2. SOAP standardized enterprise web services with strong typing, extensibility, and formal contracts (WSDL), and — though largely supplanted by REST and JSON for public APIs — it remains common in enterprise and legacy integrations.
Sources
- W3C — SOAP Version 1.2 Recommendation · as of 2026-07-17
- XML.com — "A Brief History of SOAP" · as of 2026-07-17