W3C | Submissions

Team Comment on "WSDL 1.1 Binding Extension for SOAP 1.2" and "SOAP 1.1 Binding for MTOM 1.0" Submission

W3C is pleased to receive the "WSDL 1.1 Binding Extension for SOAP 1.2" and "SOAP 1.1 Binding for MTOM 1.0" Submission from IBM, Microsoft, Oracle, and SAP AG.

WSDL 1.1 Binding Extension for SOAP 1.2

WSDL 1.1 Binding Extension for SOAP 1.2 specifies how to describe SOAP 1.2-based Web services using the WSDL 1.1 Member Submission. This binding extension is limited to subset of functionalities of SOAP 1.2 that corresponds to the SOAP 1.1 binding defined in the WSDL 1.1 Member Submission.

The W3C Web Services Description Working Group is developing the Web Services Description Language (WSDL) 2.0 specification, the next version of Web services description language, based on WSDL 1.1. WSDL 2.0 features a SOAP 1.2 binding. The following features from WSDL 2.0 are unavailable in the WSDL 1.1 binding extension:

In addition, as the Submission is designed for WSDL 1.1, it does not benefit from the improvements introduced by the WSDL 2.0 core language: cleaned up component model, extensible message exchange patterns, interface inheritance, binding defaulting rules, etc.

The Submission, on the other hand, allows the description of a larger class of services than the WSDL 2.0 SOAP 1.2 binding does, such as services using the SOAP encoding. However, the community has reached the conclusion, as shown by the WS-I Basic Profile 1.1 constraining the use of WSDL 1.1 in the context of SOAP 1.1, that document-literal and rpc-literal scenarios were preferable.

Therefore, this binding for WSDL 1.1 should be considered as a transitional solution until the work done by the Web Services Description Working Group on WSDL 2.0 is completed and WSDL 2.0 becomes a W3C Recommendation.

A characteristic of this SOAP 1.2 binding of WSDL 1.1 is that it uses the http://schemas.xmlsoap.org/soap/http URI as the identifier for HTTP as the transport of SOAP; this is the URI which was introduced by WSDL 1.1 to identify the SOAP 1.1 HTTP binding. This is interesting as the SOAP 1.2 HTTP binding defines a URI for its identification (http://www.w3.org/2003/05/soap/bindings/HTTP/) already, and Architecture of the World Wide Web, Volume One points out that URI aliases should be avoided.

SOAP 1.1 Binding for MTOM 1.0

The SOAP/1.1 Binding for MTOM 1.0 reuses MTOM (SOAP Message Transmission Optimization Mechanism), as defined for SOAP Version 1.2 in the context of SOAP/1.1.

MTOM is an implementation in SOAP Version 1.2 of XOP (XML-binary Optimized Packaging), a generic way of optimizing XML Infosets containing certain types of content, like binary content. The submitted document adapts MTOM to SOAP 1.1 by using the media type text/xml for the SOAP 1.1 envelope, and by removing all the material relevant to the SOAP Version 1.2 extensibility model.

As SOAP/1.1 uses the text/xml media type, it forces the consumer of the MTOM package to open the envelope to find out what kind of document is expected. Also, as SOAP/1.1 is not defined in terms of the Infoset but only as a serialized XML document, the strict equivalence of a MTOM document and a SOAP/1.1 document is lost, unless the MTOM processor recreates the exact XML content before reparsing it. This lack of equivalence limits the benefits of MTOM to the transmission of the document only.

While this submission is an improvement of SOAP/1.1 to carry large binary content, there are still many reasons to use SOAP 1.2 rather than SOAP/1.1. SOAP Version 1.2 is infoset-based, leading to more advanced optimization techniques. SOAP Version 1.2 also has a refined processing model, a clear extensibility mechanism and is independent with regard to the protocol used. More details on the differences between SOAP/1.1 and SOAP Version 1.2 are available on "From SOAP/1.1 to SOAP Version 1.2 in 9 points".

Next steps

The W3C Team will notify the Web Services Coordination Group of this Member Submission.

Authors: Hugo Haas and Yves Lafon