From SOAP/1.1 to SOAP Version 1.2 in 9 points

You are probably familiar with SOAP/1.1. You have heard of SOAP Version 1.2 but don't know exactly what's the relationship between the two. This document outlines the changes and benefits brought by SOAP Version 1.2.

SOAP Version 1.2: cleaner, better Web integration, more versatile, faster.

1. How W3C got from SOAP/1.1 to SOAP Version 1.2: background

The XML Protocol Working Group was chartered in September 2000 to design an XML-based protocol. As part of their work, the Working Group evaluated the technical solutions proposed by SOAP/1.1 to the requirements that they identified. The result of this 2.5 year-long work is SOAP version 1.2, an extensible and protocol-independent XML-based messaging framework.

SOAP Version 1.2 can do everything that SOAP/1.1 does, and more.

The rest of the document outlines the improvements that SOAP Version 1.2 brings to those developing Web services applications.

2. SOAP Version 1.2 provides clear processing model

Many interoperability issues in SOAP/1.1 were caused by ambiguities in the processing model: scope of the mustUnderstand attribute in the processing of a message, processing done by intermediaries, etc. In the process of evaluating SOAP/1.1, the XML Protocol Working Group discovered and addressed around 400 issues in order to make the SOAP Version 1.2 and its processing model robust and unambiguous.

3. SOAP 1.2's testing and implementation requirements leads to better interoperability

Both the SOAP Version 1.2 specification and SOAP Version 1.2 implementations were tested with a test collection resulting in a comprehensive implementation report.

SOAP Version 1.2 brings better interoperability thanks to a clarified processing model, comprehensive review, and testing.

4. SOAP Version 1.2 is based on XML Information Set

SOAP Version 1.2 is based on the XML Information Set. This is a significant change. A SOAP Version 1.2 message is specified as an Infoset which is carried from one SOAP node to another. While SOAP/1.1 was based on XML 1.0 serialization, SOAP 1.2 places no restriction about how the Infoset is transported. It could be using HTTP and an XML 1.0 serialization, or a completely different means. SOAP Version 1.2 processors are agnostic to this.

This allows for compression, optimization, and other performance gains.

5. SOAP Version 1.2 gives developers protocol independence by providing a binding framework

Building on top of the XML Infoset, the SOAP Version 1.2 specification defines a binding framework explaining what is the responsibility of the mechanism carrying a SOAP message from one SOAP node to another. This makes SOAP processors underlying-protocol agnostics and SOAP Version 1.2 protocol independent: SOAP Version 1.2 messages could be carried by HTTP, SMTP, or any other protocol for which a binding conforms to the binding framework.

SOAP Version 1.2 is truly protocol independent.

6. SOAP 1.2 includes HTTP binding for better integration to the World Wide Web

Web services are Web applications. A consequence of belonging to the Web is that they need to conform to Web architectural principles. SOAP Version 1.2 defines a Web Method feature and the SOAP HTTP binding provides support for both HTTP GET and POST operations. This means that SOAP gets the benefits of the Web infrastructure such as HTTP caches.

SOAP Version 1.2 uses existing, established Web technologies for improved performance.

7.SOAP Version 1.2 delivers a very well-defined extensibility model

The power of SOAP Version 1.2 comes from its extensibility model. The SOAP/1.1 model has been reworked and formalized as features and properties that can be expressed either in the SOAP envelope or via the underlying protocol binding, making SOAP Version 1.2 very flexible and making it take advantage of any feature that the underlying protocol would be providing.

SOAP Version 1.2 has better, more formalized extensibility.

8. SOAP Version 1.2 has better support for Web standards

SOAP Version 1.2 and its SOAP encoding incorporate the work done at W3C on the XML Information Set, XML Base, XML Schema 1.0. It also takes into account internationalization issues that are inherent to the World Wide Web.

SOAP Version 1.2 has better support of Web standards.

9. Switch from SOAP/1.1 to SOAP Version 1.2

SOAP Version 1.2 becomes the best-suited XML-based messaging framework for building distributed applications on the Web.

WSDL 1.2 (Web Services Description Language), which is coming up early 2004, will express all the powerful extensibility of SOAP Version 1.2. However, there is no need to wait for WSDL 1.2 to start using SOAP Version 1.2.

With the existing WSDL 1.1 binding from the SOAPBuilders development community, services using SOAP Version 1.2 can already be described and SOAP Version 1.2 can be used in place of SOAP/1.1.

W3C Communications Team <w3t-comm@w3.org>
Created 16 June 2003 by Hugo Haas
Last modified: $Date: 2003/06/24 12:28:43 $