The World Wide Web Consortium (W3C) has released the SOAP Version 1.2 Proposed Recommendation, consisting of the SOAP 1.2 Messaging Framework, SOAP 1.2 Adjuncts, and a Primer. SOAP 1.2 is a lightweight protocol intended for exchanging structured information in a decentralized, distributed environment such as the Web. A W3C Proposed Recommendation is issued after review by the W3C Director, W3C Working Groups and the developer public, with evidence of implementation and interoperability. SOAP 1.2 has been sent to the W3C Membership for final review, which closes on 7 June 2003.
The XML Protocol WG has the goal of developing technologies which enable two or more peers to communicate in a distributed environment, using XML as the encapsulation language. Their solution allows a layered architecture on top of a simple and extensible messaging format, which provides robustness, simplicity, reusability and interoperability.
SOAP 1.2 provides a framework for XML-based messaging systems, in two parts: First, the SOAP 1.2 Message Framework provides a processing model (the rules for processing a SOAP message), an extensibility framework (enabling developers to use extensions inside and outside the SOAP envelope), the message construct (the rules for constructing SOAP messages), and the protocol binding framework (the rules for specifying the exchange of SOAP messages over underlying protocols such as HTTP). Secondly, SOAP 1.2 Adjuncts defines a set of adjuncts. It includes rules for representing remote procedure calls (RPCs), for encoding SOAP messages, for describing SOAP features and SOAP bindings. It also provides a standard binding of SOAP to HTTP 1.1, allowing SOAP messages to be exchanged using the mechanisms of the World Wide Web.
In addition to fulfilling requirements spelled out in the WG charter, SOAP 1.2 integrates core XML technologies. SOAP 1.2 is designed to work seamlessly with W3C XML schemas, maximizing SOAP's utility with a broad range of XML tools, and paving the way for future work on WSDL. It also makes use of XML Namespaces as a flexible and lightweight mechanism for handling XML language mixing.