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 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.
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".
The W3C Team will notify the Web Services Coordination Group of this Member Submission.