W3C

2005-08-03 diff-marked version: Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding

W3C Working Draft 10 May 3 August 2005

This version:
<a href= "http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050510"> http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050510 http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050803
Latest version:
http://www.w3.org/TR/wsdl20-soap11-binding
Previous versions:
http://www.w3.org/TR/2005/WD-wsdl20-soap11-binding-20050510/
Editor:
Asir S. Vedamuthu, Microsoft, formerly webMethods

This document is also available in these non-normative formats: <a href="wsdl20-soap11-binding.ps"> postscript </a>, <a href= "wsdl20-soap11-binding.pdf"> PDF , PostScript , XML , and  plain text .


Abstract

WSDL SOAP 1.1 Binding describes the concrete details for using WSDL 2.0 in conjunction with SOAP 1.1 [ SOAP11 ] protocol.

Status of this Document

This section describes the status of this document at the time of its publication. Other documents may supersede this document. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at http://www.w3.org/TR/.

This is a <a href= "http://www.w3.org/2004/02/Process-20040205/tr.html#first-wd"> W3C First Public Last Call Working Draft of Web Services Description Language (WSDL) Version 2.0 SOAP 1.1 Binding. It has been produced by the Web Services Description Working Group ,which is part of the W3C Web Services Activity . If the feedback is positive, the Working Group plans to publish additional Working Drafts, including a Last Call Working Draft, leading up to do some implementation testing along with the final version of implementation testing for Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts [ WSDL 2.0 Adjuncts ], and eventually publish this specification document as a deleted text: W3C Working Group Note.

Comments on this document are deleted text: invited and are to be sent to the public public-ws-desc-comments@w3.org mailing list ( public archive ). ) until 19 September 2005 .

This A diff-marked version against the previous version of this document has been produced as part is available. For a detailed list of changes since the <a href= "http://www.w3.org/2002/ws/Activity.html"> W3C Web Services Activity </a>. The authors last publication of this document, please refer to appendix B. SOAP 1.1 Binding Change Log .Issues about this document are documented in the Last Call issues list maintained by the deleted text: <a href= "http://www.w3.org/2002/ws/desc/"> Web Services Description Working Group Group. A list of formal objections members. against the set of WSDL 2.0 Working Drafts is also available.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to cite this document as other than work in progress.


Short Table of Contents

1. Introduction
2. SOAP 1.1 Binding
3. References
A. Acknowledgements (Non-Normative)
B. SOAP 1.1 Binding Change Log (Non-Normative)


Table of Contents

1. Introduction
    1.1 Notational Conventions
2. SOAP 1.1 Binding
    2.1 Identifying a SOAP 1.1 Binding
    2.2 Description
    2.3 Default Binding Rule
    2.4 Example (Non-Normative)
3. References
    3.1 Normative References
    3.2 Informative References

Appendices

A. Acknowledgements (Non-Normative)
B. SOAP 1.1 Binding Change Log (Non-Normative)


1. Introduction

The Web Services Description Language (WSDL) provides a model and an XML format for describing Web services. WSDL SOAP 1.1 Binding (this specification) describes the binding extension for SOAP 1.1 [ SOAP11 ] protocol. This binding is intended to ease the migration from WSDL 1.1 to WSDL 2.0 for implementers describing services that use SOAP 1.1 protocol. And, this binding allows users to continue using SOAP 1.1 protocol.

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

1.1 Notational Conventions

deleted text: The keywords "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in RFC2119 [ <cite> <a href="#RFC2119"> IETF RFC 2119 </a> </cite> ]. </p> <p> 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 [ WSDL20 WSDL 2.0 Core ] Component Model.


Table 1-1. Prefixes and Namespaces used in this specification
Prefix Namespace Notes
wsdl "http://www.w3.org/2005/05/wsdl" "http://www.w3.org/2005/08/wsdl" A normative XML Schema [ XSD Structures ], [ XSD Datatypes ] document for the "http://www.w3.org/2005/05/wsdl" "http://www.w3.org/2005/08/wsdl" namespace can be found at <a href= "http://www.w3.org/2005/05/wsdl"> http://www.w3.org/2005/05/wsdl http://www.w3.org/2005/08/wsdl .
wsoap "http://www.w3.org/2005/05/wsdl/soap" "http://www.w3.org/2005/08/wsdl/soap" A normative XML Schema [ XSD Structures ], [ XSD Datatypes ] document for the "http://www.w3.org/2005/05/wsdl/soap" "http://www.w3.org/2005/08/wsdl/soap" namespace can be found at <a href= "http://www.w3.org/2005/05/wsdl/soap"> http://www.w3.org/2005/05/wsdl/soap http://www.w3.org/2005/08/wsdl/soap .
whttp "http://www.w3.org/2005/05/wsdl/http" "http://www.w3.org/2005/08/wsdl/http" A normative XML Schema [ XSD Structures ], [ XSD Datatypes ] document for the "http://www.w3.org/2005/05/wsdl/http" "http://www.w3.org/2005/08/wsdl/http" namespace can be found at <a href= "http://www.w3.org/2005/05/wsdl/http"> http://www.w3.org/2005/05/wsdl/http http://www.w3.org/2005/08/wsdl/http .
xs "http://www.w3.org/2001/XMLSchema" Defined in the W3C XML Schema specification [ XSD Structures ], [ XSD Datatypes ].

Namespace names of the general form "http://example.org/..." and "http://example.com/..." represent application or context-dependent URIs [ <a href="#RFC2396"> IETF RFC 2396 3986 ].

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

2. SOAP 1.1 Binding

2.1 Identifying a SOAP 1.1 Binding

A SOAP Binding is identified as a SOAP 1.1 binding by assigning the value "1.1" to the <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-version"> {soap version} { soap version } property of the Binding component.

2.2 Description

The SOAP 1.1 binding enables Web Service applications to use SOAP 1.1 [ SOAP11 ] by extending the SOAP binding in the WSDL Adjuncts Specification specification [ WSDL 2.0 Adjuncts ]. This binding supports the following:

  • Message Exchange Patterns - supports two Message Exchange Patterns defined by the WSDL Predefined Extensions Adjuncts specification [ <a href="#WSDL-PART2"> WSDL 2.0 Adjuncts ]: In-Out and In-Only.

  • SOAP Modules - supports SOAP Modules and allows users to indicate SOAP Modules using the SOAP Module component. For SOAP 1.1, this specification adopts the conceptual definition of SOAP Module as described in the SOAP 1.2 specification [ <a href= "#SOAP12-PART1"> SOAP12 Part 1 ].

    The term "SOAP Module" (also known as SOAP Extensions) refers to the specification of the syntax and semantics of one or more SOAP header blocks.

    Note:

    A URI An IRI [ IETF RFC 3987 ] is required to indicate a SOAP Module in a SOAP 1.1 binding.

  • SOAP 1.1 HTTP Binding - supports the SOAP 1.1 HTTP binding defined in Section 6, SOAP 1.1 specification [ SOAP11 ]. This is indicated by assigning the URI "http://www.w3.org/2005/05/soap11/bindings/HTTP" "http://www.w3.org/2005/08/soap11/bindings/HTTP" to the <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-protocol"> {soap { soap underlying protocol} protocol } property.

    The value of the <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-operation-decl-relate"> {soap action} { soap action } property identifies the value of the SOAP 1.1 SOAPAction HTTP request header field, Section 6.1.1, SOAP 1.1 specification [ SOAP11 ].

    The values of <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#http-operation-decl-relate"> {http method} { http method } and <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#http-operation-decl-relate"> {http location} { http location } properties are ignored for SOAP 1.1 HTTP binding.

    Note:

    If the Interface Operation component's <a href= "http://www.w3.org/TR/2005/WD-wsdl20-20050510#InterfaceOperation_details"> {message { message exchange pattern} pattern } property has the value "http://www.w3.org/2005/05/wsdl/in-only" "http://www.w3.org/2005/08/wsdl/in-only" and the Binding component's <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-protocol"> {soap { soap underlying protocol} protocol } property has the value"http://www.w3.org/2005/05/soap11/bindings/HTTP", value"http://www.w3.org/2005/08/soap11/bindings/HTTP", then the HTTP response is undefined. For specific guidance on what the HTTP response MUST ought to be, implementers SHOULD refer are referred to the Basic Profile [ BP10 ] and / or and/or the latest version of this specification (s). specification(s).

  • Other SOAP 1.1 Underlying Protocols - supports other SOAP 1.1 underlying protocols. Other values MAY can be used for the <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-protocol"> {soap { soap underlying protocol} protocol } property in conjunction with the SOAP 1.1 binding provided that the semantics of such protocols are consistent with this binding.

The values of <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-operation-decl-relate"> {soap mep} { soap mep } and <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-fault-decl-relate"> {soap { soap fault subcodes} subcodes } properties are ignored for SOAP 1.1 binding.

2.3 Default Binding Rule

The following default binding rule applies to SOAP 1.1 binding:

SOAP Action. If the Binding Operation component's <a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510#soap-operation-decl-relate"> {soap action} { soap action } property has NOT been specified, then the Binding component assigns quoted string value to the SOAP 1.1 SOAPAction HTTP Header Field (see [ SOAP11 ]).

2.4 Example (Non-Normative)

The following example shows the WSDL definition of a simple service providing stock quotes. This service supports a single operation called GetLastTradePrice, which is deployed using the SOAP 1.1 protocol over HTTP. GetLastTradePrice operation request takes a ticker symbol of type string, and returns the price as a float.

<?xml version="1.0"?>


<wsdl:definitions name="StockQuote" xmlns:wsdl="http://www.w3.org/2005/05/wsdl"



<wsdl:definitions name="StockQuote" xmlns:wsdl="http://www.w3.org/2005/08/wsdl"


  targetNamespace="http://example.com/stockquote"
  xmlns:tns="http://example.com/stockquote" 


  <b>xmlns:wsoap="http://www.w3.org/2005/05/wsdl/soap"</b>>



  xmlns:wsoap="http://www.w3.org/2005/08/wsdl/soap">


  
  <wsdl:types>
    <xs:schema targetNamespace="http://example.com/stockquote" 
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
      <xs:element name="TradePriceRequest">
        <xs:complexType>
          <xs:all>
            <xs:element name="tickerSymbol" type="xs:string"/>
          </xs:all>
        </xs:complexType>
      </xs:element>
      <xs:element name="TradePrice">
        <xs:complexType>
          <xs:all>
            <xs:element name="price" type="xs:float"/>
          </xs:all>
        </xs:complexType>
      </xs:element>
    </xs:schema>
  </wsdl:types>
  
  <wsdl:interface name="StockQuoteInterface">
    <wsdl:operation name="GetLastTradePrice" 


      pattern="http://www.w3.org/2005/05/wsdl/in-out">



      pattern="http://www.w3.org/2005/08/wsdl/in-out">


      <wsdl:input element="tns:GetLastTradePriceInput"/>
      <wsdl:output element="tns:GetLastTradePriceOutput"/>
    </wsdl:operation>
  </wsdl:interface>
  
  <wsdl:binding name="StockQuoteSoapBinding" interface="tns:StockQuoteInterface"


    <b>type="http://www.w3.org/2005/05/wsdl/soap"</b> 
    <b>wsoap:version="1.1"</b> 
    <b>wsoap:protocol="http://www.w3.org/2005/05/soap11/bindings/HTTP"</b>>



    type="http://www.w3.org/2005/08/wsdl/soap"
                                        wsoap:version="1.1"
                                        wsoap:protocol="http://www.w3.org/2005/08/soap11/bindings/HTTP">


    <wsdl:operation ref="tns:GetLastTradePrice" 
      wsoap:action="http://example.com/GetLastTradePrice"/>
  </wsdl:binding>
  
  <wsdl:service name="StockQuoteService" interface="tns:StockQuoteInterface">
    <wsdl:documentation>My first service</wsdl:documentation>
    <wsdl:endpoint name="StockQuoteEndPoint" binding="tns:StockQuoteBinding" 
    address="http://example.com/endpoint/stockquote"/>
  </wsdl:service>
  
</wsdl:definitions>
        

3. References

3.1 Normative References

[BP10]
Basic Profile Version 1.0 , Keith Ballinger, David Ehnebuske, Martin Gudgin, Mark Nottingham, and Prasad Yendluri, Editors. The Web Services-Interoperability Organization, Final Material 16 April 2004.
<a name="RFC2119" id="RFC2119"> [IETF RFC 2119] 2616]
<a href="http://www.ietf.org/rfc/rfc2119.txt"> Key words for use in RFCs to Indicate Requirement Levels Hypertext Transfer Protocol -- HTTP/1.1 , S. Bradner, Author. R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, Authors. Internet Engineering Task Force, June 1999. Available at http://www.ietf.org/rfc/rfc2119.txt. http://www.ietf.org/rfc/rfc2616.txt.
<a name="RFC2396" id="RFC2396"> [IETF RFC 2396] 3986]
<a href="http://www.ietf.org/rfc/rfc2396.txt"> Uniform Resource Identifiers (URI): Generic Syntax , T. Berners-Lee, R. Fielding, L. Masinter, Authors. Internet Engineering Task Force, August 1998. January 2005. Available at http://www.ietf.org/rfc/rfc2396.txt. http://www.ietf.org/rfc/rfc3986.txt.
<a name="RFC2616" id="RFC2616"> [IETF RFC 2616] 3987]
<a href="http://www.ietf.org/rfc/rfc2616.txt"> Hypertext Transfer Protocol -- HTTP/1.1 Internationalized Resource Identifiers (IRIs) , R. Fielding, J. Gettys, J. Mogul, H. Frystyk, L. Masinter, P. Leach, T. Berners-Lee, M. Duerst, M. Suignard, Authors. Internet Engineering Task Force, June 1999. January 2005. Available at http://www.ietf.org/rfc/rfc2616.txt. http://www.ietf.org/rfc/rfc3987.txt.
[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/.
[WSDL20 [WSDL 2.0 Core]
<a href= "http://www.w3.org/TR/2005/WD-wsdl20-20050510"> Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language , R. Chinnici, deleted text: M. Gudgin, J-J. Moreau, A. Ryman, S. Weerawarana, Editors. World Wide Web Consortium, 10 May 3 August 2005. This version of the "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language" Specification is available is available at http://www.w3.org/TR/2005/WD-wsdl20-20050510. http://www.w3.org/TR/2005/WD-wsdl20-20050803. The <a href= "http://www.w3.org/TR/wsdl20"> latest version of "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language" is available at http://www.w3.org/TR/wsdl20.
[WSDL 2.0 Adjuncts]
<a href= "http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510"> Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts , M. Gudgin, R. Chinnici, H. Haas, deleted text: P. Le Hégaret, A. Lewis, J-J. Moreau, D. Orchard, deleted text: J. Schlimmer, S. Weerawarana, Editors. World Wide Web Consortium, 3 August 2004. 2005. This version of the "Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts" Specification is available at http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050510. http://www.w3.org/TR/2005/WD-wsdl20-adjuncts-20050803. The latest version of "Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts" is available at http://www.w3.org/TR/wsdl20-adjuncts.
[XSD Structures]
XML Schema Part 1: Structures , H. Thompson, D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 1 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-1-20010502. The latest version of XML Schema Part 1 is available at http://www.w3.org/TR/xmlschema-1.
[XSD Datatypes]
XML Schema Part 2: Datatypes , P. Byron and A. Malhotra, Editors. World Wide Web Consortium, 2 May 2001. This version of the XML Schema Part 2 Recommendation is http://www.w3.org/TR/2001/REC-xmlschema-2-20010502. The latest version of XML Schema Part 2 is available at http://www.w3.org/TR/xmlschema-2.
[XML Information Set]
XML Information Set , J. Cowan and R. Tobin, Editors. World Wide Web Consortium, 24 October 2001. This version of the XML Information Set Recommendation is http://www.w3.org/TR/2001/REC-xml-infoset-20011024. The latest version of XML Information Set is available at http://www.w3.org/TR/xml-infoset.

3.2 Informative References

[SOAP11]
Simple Object Access Protocol (SOAP) 1.1 , Don Box, David Ehnebuske, Gopal Kakivaya, Andrew Layman, Noah Mendelsohn, Henrik Frystyk Nielsen, Satish Thatte, Dave Winer, Editors. World Wide Web Consortium, Note 08 May 2000.
[SOAP12 Part 2]
SOAP Version 1.2 Part 2: Adjuncts , M. Gudgin, M. Hadley, N. Mendelsohn, J-J. Moreau, and H. Frystyk Nielsen, Editors. World Wide Web Consortium, 7 May 2003. This version of the "SOAP Version 1.2 Part 2: Adjuncts" Recommendation is http://www.w3.org/TR/2003/REC-soap12-part2-20030624/. The latest version of "SOAP Version 1.2 Part 2: Adjuncts" is available at http://www.w3.org/TR/soap12-part2/.
[WSDL20 [WSDL 2.0 Primer]
<a href="http://www.w3.org/2002/ws/desc/"> Web Services Description Language (WSDL) Version 2.0: 2.0 Part 0: Primer , deleted text: K. Sankar, K. Liu, D. Booth, C.K. Liu, Editors. World Wide Web Consortium . Consortium, 3 August 2005. This version of "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer" is http://www.w3.org/TR/2005/WD-wsdl20-primer-20050803. The editors' latest version of the "Web Services Description Language (WSDL) Version 2.0: 2.0 Part 0: Primer" document is available from http://dev.w3.org/cvsweb/~checkout~/2002/ws/desc/wsdl20/wsdl20-primer.html. http://www.w3.org/TR/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. In particular, the editor acknowledges contributions from Amy Gersema, webMethods.

B. SOAP 1.1 Binding Change Log (Non-Normative)


Date Author Description
20050617 JMarsh Updated prevloc
20050617 JMarsh "Predefined Extensions" -> "Adjuncts"
20050617 JMarsh Updated primer bibref
20050615 JJM Removed the reference to RFC2119 and its keyword description.
20050615 JJM Fixed remaining capital MUST, MAY and SHOULD.
20050615 JJM Added markup for components and properties.
20050527 HH Switched to IRIs
20050112 AV Rewrote sections to improve readability, no substantial changes
20041208 AV Changed title from SOAP 11 to SOAP 1.1
20041129 AV Incorporated WG resolutions from the webMethods F2F, Nov 2004
20040826 AV Created the first draft