WSDL 2.0 MTOM Extension

Editors' copy $Date: 2006/03/23 10:15:13 $ @@ @@@@ @@@@

This version:
wsdl20-mtom-extension.html
Latest version:
http://www.w3.org/2002/ws/desc/wsdl20-mtom-extension
Previous versions:
http://www.w3.org/TR/2006/WD-wsdl20-mtom-extension-20060106
Editor:
,

This document is also available in these non-normative formats: .


Abstract

WSDL2.0 MTOM extension describes the concrete details for enabling MTOM [SOAP MTOM] in conjunction with WSDL 2.0.

Status of this Document

This document is an editors' copy that has no official standing.


Short Table of Contents

1. Introduction
2. WSDL2.0 MTOM extension
3. Interactions with other specifications
4. References
A. Acknowledgements (Non-Normative)
B. MTOM Extension Change Log (Non-Normative)


Table of Contents

1. Introduction
    1.1 Notational Conventions
2. WSDL2.0 MTOM extension
    2.1 Relationship to WSDL Component Model
    2.2 XML Representation
    2.3 Mapping from XML Representation to Component Properties
3. Interactions with other specifications
    3.1 Other Uses of OptimizedMimeSerialization Extension Element
    3.2 HTTP Content Negociation
4. References
    4.1 Normative References
    4.2 Informative References

Appendices

A. Acknowledgements (Non-Normative)
B. MTOM Extension Change Log (Non-Normative)


1. Introduction

The Web Services Description Language (WSDL) provides a model and an XML format for describing Web services. WSDL2.0 MTOM Extension (this specification) describes the binding extension for MTOM [SOAP MTOM]. This extension is intended to enable Web Services applications to use MTOM.

This specification depends on WSDL 2.0 [WSDL 2.0 Core] and WSDL 2.0 Adjuncts [WSDL 2.0 Adjuncts].

1.1 Notational Conventions

This specification uses a number of namespace prefixes throughout; they are listed in Table 1-1. Note that the choice of any namespace prefix is arbitrary and not semantically significant (see [XML Information Set]).

This specification uses curly brackets (e.g., {property}) to indicate a property in the WSDL component model, as defined in Part 1 [WSDL 2.0 Core] Component Model.


Table 1-1. Prefixes and Namespaces used in this specification
Prefix Namespace Notes
wsdl "http://www.w3.org/@@@@/@@/wsdl" A normative XML Schema [XMLSchemaP1], [XMLSchemaP2] document for the "http://www.w3.org/@@@@/@@/wsdl" namespace can be found at http://www.w3.org/@@@@/@@/wsdl.
wsoap "http://www.w3.org/@@@@/@@/wsdl/soap" A normative XML Schema [XMLSchemaP1], [XMLSchemaP2] document for the "http://www.w3.org/@@@@/@@/wsdl/soap" namespace can be found at http://www.w3.org/@@@@/@@/wsdl/soap.
wso "http://www.w3.org/@@@@/@@/wsdl/soap/mime-optimization" Defined by this specification.

Namespace names of the general form "http://example.org/..." and "http://example.com/..." represent application or context-dependent URIs [RFC3986].

All parts of this specification are normative, with the EXCEPTION of examples, and sections explicitly marked as "Non-Normative".

2. WSDL2.0 MTOM extension

This extension allows describing the capacities and requirements of a service related to the use of MTOM. This specification defines the semantics of this extension when used in conjunction with:

  1. WSDL2.0 SOAP Binding, as defined in [WSDL 2.0 Adjuncts]
  2. HTTP being set as SOAP transport protocol

2.1 Relationship to WSDL Component Model

This extension adds the following property to the Endpoint, Binding, Binding Operation, Binding Fault, Binding Message Reference and Binding Fault Reference component model (as defined in [WSDL 2.0 Core]):

  • {optimized mime serialization} OPTIONAL. An xs:token with one of the values "required" or "optional". When present, the property indicates that the use of MTOM has been declared. When absent, NO assertion is made on the support and use of MTOM.

The availability and requiredness of MTOM support and engagement is defined by the closest {optimized mime serialization} property, where closeness is defined by whether it is at the Endpoint component level, the Binding Message Reference component, the Binding Fault Reference component level, the Binding Operation level, the Binding Fault Reference level, or the Binding component level, respectively.


Table 2-1. Support and Engagement of MTOM
Required Optional
Input Message/Fault MTOM MUST be supported and SHOULD be engaged by the client. Typically, MTOM MAY be disengaged when NO binary data is to be sent. MTOM is supported by the service and MAY be engaged by the client.
Output Message/Fault MTOM MUST be supported by the client. Engagement is based on the message content-type as per the MTOM specification [SOAP MTOM]. MTOM is supported and MAY be engaged by the service. Engagement MUST only be done when the service knows that the client supports MTOM. This knowledge MAY come from different sources: MTOM use in the input message, policy exchanges, content negociation (HTTP Accept header for instance)... By default, MTOM is NOT engaged.

2.2 XML Representation

The XML representation for the WSDL2.0 MTOM extension is an element information item as follow:

<description>
  <wsdl:binding wsoap:protocol="http://www.w3.org/2003/05/soap/bindings/HTTP/">
     <wso:OptimizedMimeSerialization
	        wsdl:required="xs:boolean"?/>*
    <wsdl:fault>
      <wso:OptimizedMimeSerialization ... />*
    </wsdl:fault>
    <wsdl:operation>
      <wso:OptimizedMimeSerialization ... />*
      <wsdl:input>
        <wso:OptimizedMimeSerialization ... />*
      </wsdl:input>
      <wsdl:output>
        <wso:OptimizedMimeSerialization ... />*
      </wsdl:output>
      <wsdl:infault>
        <wso:OptimizedMimeSerialization ... />*
      </wsdl:infault>
      <wsdl:outfault>
        <wso:OptimizedMimeSerialization ... />*
      </wsdl:outfault>
    </wsdl:operation>
  </wsdl:binding>
</wsdl:description>

This is an empty global element that allows any namespaced attribute, especially the wsdl:required attribute.

The XML representation for the MTOM extension is an element information item with the following Infoset properties:

  • A [local name] of wso:OptimizedMimeSerialization .

  • A [namespace name] of "http://www.w3.org/@@@@/@@/wsdl/soap/mime/optimisation".

  • An OPTIONAL wsdl:required attribute information item with the following Infoset properties:

    • A [local name] of required

    • A [namespace name] of "http://www.w3.org/@@@@/@@/wsdl"

    • A type of xs:boolean.

2.3 Mapping from XML Representation to Component Properties

The mapping from the XML Representation of the wso:OptimizedMimeSerialization element information item to the {optimized mime serialization} property of the Endpoint, Binding, Binding Operation, Binding Fault, Binding Message Reference and Binding Fault Reference component model is as described in Table 2-2.


Table 2-2. Mapping from XML Representation to Endpoint, Binding, Binding Operation, Binding Fault, Binding Message Reference, Binding Fault Reference components
Property Value
{optimized mime serialization}

Absent if there is NO wso:OptimizedMimeSerialization extension element.

If a wso:OptimizedMimeSerialization extension element is present, "required" if there is a wsdl:required attribute information item with a value of "true", "optional" otherwise.


3. Interactions with other specifications

This section is Non-Normative.

3.1 Other Uses of OptimizedMimeSerialization Extension Element

The wso:OptimizedMimeSerialization element MAY be used in other contexts than WSDL2.0 (e.g., as a policy assertion in a policy framework). Its use in such contexts is semantically equivalent to the use of wso:OptimizedMimeSerialization as a WSDL extension element.

3.2 HTTP Content Negociation

A client MAY indicate that it supports MTOM by using the Accept header field in the request. The service can then decide to engage MTOM or not in the response based on the Accept header field value.


Table 3-1. HTTP Accept Header Value and Relationship with MTOM
Accept Header Value Meaning
Accept: multipart/related;type="application/xop+xml" The client wants to receive a MTOM message
Accept: application/soap+xml The client wants to receive a standard soap response
Accept: multipart/related;type="application/xop+xml";q=0.5, application/soap+xml The client prefers receiving a standard soap response but agrees to receive a MTOM response.
Accept: application/soap+xml; q=0.5, multipart/related;type="application/xop+xml" The client prefers receiving a MTOM response but agrees to receive a standard soap response

4. References

4.1 Normative References

[SOAP MTOM]
SOAP Message Transmission Optimization Mechanism, Martin Gudgin, Noah Mendelsohn, Mark Nottingham, and Herve' Ruellan, Editors. World Wide Web Consortium, 25 January 2005.
[SOAP12 Part 1]
SOAP Version 1.2 Part 1: Messaging Framework, M. Gudgin, M. Hadley, N. Mendelsohn, J-J. Moreau, H. Frystyk Nielsen, Editors. World Wide Web Consortium, 24 June 2003. This version of the "SOAP Version 1.2 Part 1: Messaging Framework" Recommendation is http://www.w3.org/TR/2003/REC-soap12-part1-20030624/. The latest version of "SOAP Version 1.2 Part 1: Messaging Framework" is available at http://www.w3.org/TR/soap12-part1/.
[WSDL 2.0 Core]
Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language, R. Chinnici, J-J. Moreau, A. Ryman, S. Weerawarana, Editors. World Wide Web Consortium, @@ @@@@ @@@@. This version of the "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language" Specification is available is available at wsdl20.html. The latest version of "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language" is available at http://www.w3.org/2002/ws/desc/wsdl20.
[WSDL 2.0 Adjuncts]
Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts , R. Chinnici, H. Haas, A. Lewis, J-J. Moreau, D. Orchard, S. Weerawarana, Editors. World Wide Web Consortium, @@ @@@@ @@@@. This version of the "Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts" Specification is available at wsdl20-adjuncts.html. The latest version of "Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts" is available at http://www.w3.org/2002/ws/desc/wsdl20-adjuncts.
[XML Information Set]
XML Information Set (Second Edition), J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 4 February 2004. This version of the XML Information Set Recommendation is http://www.w3.org/TR/2004/REC-xml-infoset-20040204. The latest version of XML Information Set is available at http://www.w3.org/TR/xml-infoset.

4.2 Informative References

[WSDL 2.0 Primer]
Web Services Description Language (WSDL) Version 2.0 Part 0: Primer, D. Booth, C.K. Liu, Editors. World Wide Web Consortium, @@ @@@@ @@@@. This version of "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer" is wsdl20-primer.html. The latest version of the "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer" document is available from http://www.w3.org/2002/ws/desc/wsdl20-primer.

A. Acknowledgements (Non-Normative)

This document is developed by the participants of the W3C Web Service Description Working Group.

Many people have contributed ideas and feedback that has improved this document.

B. MTOM Extension Change Log (Non-Normative)


Date Author Description
20061013 YF Created skeleton