<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.2+WSDL//EN" "xmlspec.dtd">
<!--
/*
 * Copyright © 2006 World Wide Web Consortium,
 *
 * (Massachusetts Institute of Technology, European Research Consortium for
 * Informatics and Mathematics, Keio University). All Rights Reserved. This
 * work is distributed under the W3C® Document License [1] in the hope that
 * it will be useful, but WITHOUT ANY WARRANTY; without even the implied
 * warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 *
 * [1] http://www.w3.org/Consortium/Legal/2002/copyright-documents-20021231
 */
    -->
<!-- $Id: wsdl20-adjuncts.xml,v 1.1 2006/03/27 17:06:18 matthieu Exp $ -->
<?xml-stylesheet type='text/xsl' href='xmlspec-wsdl.xsl'?><spec xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:z="http://www.w3.org/2004/zml" w3c-doctype="cr" role="public">
  <header>
    <title>Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts</title>
    <w3c-designation>http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327</w3c-designation>
    <w3c-doctype>W3C Candidate Recommendation</w3c-doctype>
    <pubdate>
      <day>27</day>
      <month>March</month>
      <year>2006</year>
    </pubdate>
    <publoc>
      <loc href="http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060327</loc>
    </publoc>
    <altlocs>
	<loc role="pdf" href="wsdl20-adjuncts.pdf" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PDF</loc>
	<loc role="postscript" href="wsdl20-adjuncts.ps" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">PostScript</loc>
	<loc role="xml" href="wsdl20-adjuncts.xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">XML</loc>
	<loc role="plain" href="wsdl20-adjuncts.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">plain text</loc>
    </altlocs>
    <prevlocs>
      <loc href="http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/2006/CR-wsdl20-adjuncts-20060106</loc>
    </prevlocs>
    <latestloc>
      <loc href="http://www.w3.org/TR/wsdl20-adjuncts" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/TR/wsdl20-adjuncts</loc>
    </latestloc>
    <authlist>
      <author>
	<name>Roberto Chinnici</name>
	<affiliation>Sun Microsystems</affiliation>
      </author>
      <author>
        <name>Hugo Haas</name>
        <affiliation>W3C</affiliation>
      </author>
      <author>
	<name>Amelia A. Lewis</name>
	<affiliation>TIBCO Software</affiliation>
      </author>
      <author>
	<name>Jean-Jacques Moreau</name>
        <affiliation>Canon</affiliation>
      </author>
      <author>
        <name>David Orchard</name>
        <affiliation>BEA Systems</affiliation>
      </author>
      <author>
        <name>Sanjiva Weerawarana</name>
        <affiliation>WSO2</affiliation>
      </author>
    </authlist>
    <abstract>
      <p>
	WSDL is an XML format for describing network services as a set
	of endpoints operating on messages containing either
	document-oriented or procedure-oriented information.
	Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts defines predefined extensions for use in WSDL 2.0:
      </p>
      <ulist>
	<item><p>Message exchange patterns</p></item>
	<item><p>Operation styles</p></item>
	<item><p>Binding Extensions</p></item>
      </ulist>
      <p>
	This
	specification depends on WSDL Version 2.0 <bibref ref="WSDL-PART1"/>.
      </p>
    </abstract>
    
<status id="Status">

  <p>
    <emph>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 <loc href="http://www.w3.org/TR/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C technical reports index</loc> at
    http://www.w3.org/TR/.</emph>
  </p>

   <p>
      This is an updated version of the <loc href="http://www.w3.org/2005/10/Process-20051014/tr.html#RecsCR" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C
      Candidate Recommendation</loc> of Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts for
      review by W3C Members and other interested parties. It has been
      produced by the <loc href="http://www.w3.org/2002/ws/desc/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Web
      Services Description Working Group</loc>, which is part of the
      <loc href="http://www.w3.org/2002/ws/Activity" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Web Services
      Activity</loc>. The publication of this document signifies a <loc href="http://www.w3.org/2005/10/Process-20051014/tr.html#cfi" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">call
      for implementations</loc> of this specification.
      The Candidate Recommendation period specified in the previous
      draft (15 March 2006) has passed.  The Working Group does not
      anticipate garnering enough implementation experience to fulfill
      its Candidate Recommendation exit criteria until at least 1 July
      2006.
   </p>

    <p>
      This version addresses the modest number of comments received to
      date on the Candidate Recommendation of Web Services Description Language (WSDL) Version 2.0 Part 2: Adjuncts, and primarily differs from
      the previous version in the inclusion of marked test assertions
      to help implementers, as well as the loosening of the IRI style
      to allow repetition of query parameters and the removal of the
      {http version} property which was judged unneeded. The detailed
      disposition of the comments received can be found in the <loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Candidate Recommendation
      issues list</loc>.  A <loc href="wsdl20-adjuncts-diff.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">diff-marked
      version against the previous version of this document</loc> is
      available. For a detailed list of changes since the last
      publication of this document, please refer to appendix <specref ref="changelog"/>.
    </p>

    <p>The Working Group plans to submit
    this specification for consideration as a <loc href="http://www.w3.org/2005/10/Process-20051014/tr.html#RecsPR" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C
    Proposed Recommendation</loc> if the following exit criteria have
    been met:
  </p>

  <ulist>
    <item>
      <p>
        Two interoperable implementations of all the
        features, both mandatory and optional, of the specifications
        have been produced.
      </p>
    </item>
    <item>
      <p>
        The Working Group releases a test suite along with an <loc href="http://www.w3.org/2002/ws/desc/5/impl-report/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">implementation
        report</loc>.
      </p>
    </item>
  </ulist>


  <p>The following features defined in this specification are considered <loc href="http://www.w3.org/2005/10/Process-20051014/tr.html#at-risk-feature" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">at risk</loc>:</p>
  <ulist>
    <item>
      <p>
	Serialization of the instance data in parts of the HTTP request IRI
	(section <specref ref="_http_location_template"/>): feedback is sought on this topic
      </p>
    </item>
    <item>
      <p>
	Definition of the Robust In-Only, In-Optional-Out, Out-Only,
	Robust Out-Only, Out-In, Out-Optional-In message exchange
	pattern (in section <specref ref="patterns"/>): the Working
	Group is intending to remove those definitions from the
	specification if it does not have evidence of their use
      </p>
    </item>
  </ulist>

    <p>Implementers are invited to <loc href="http://www.w3.org/2005/10/Process-20051014/tr.html#cfi" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">send feedback</loc> on this document to the public <loc href="mailto:public-ws-desc-comments@w3.org" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public-ws-desc-comments@w3.org</loc>
      mailing list (<loc href="http://lists.w3.org/Archives/Public/public-ws-desc-comments/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
      archive</loc>).
    </p>

    <p>
    Issues about this document are recorded in the <loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Candidate Recommendation
    issues list</loc> maintained by the Working Group. A list of <loc href="http://www.w3.org/2002/ws/desc/5/07/objections.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">formal
    objections</loc> against the set of WSDL 2.0 Working Drafts is
    also available.
    </p>

    <!-- Boilerplate -->

    <p>
      Publication as a Candidate Recommendation 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.
    </p>

    <p>
      This document was produced by a group operating under the <loc href="http://www.w3.org/TR/2002/NOTE-patent-practice-20020124" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">24
      January 2002 CPP</loc> as amended by the <loc href="http://www.w3.org/2004/02/05-pp-transition" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Patent
      Policy Transition Procedure</loc>. W3C maintains a <loc href="http://www.w3.org/2002/ws/desc/2/04/24-IPR-statements.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">public
      list of any patent disclosures</loc> made in connection with the
      deliverables of the group; that page also includes instructions
      for disclosing a patent. An individual who has actual knowledge
      of a patent which the individual believes contains <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">Essential
      Claim(s)</loc> must disclose the information in accordance with <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">section
      6 of the W3C Patent Policy</loc>.
    </p>

</status>


    <langusage>
      <language id="en">English</language>
    </langusage>
    <revisiondesc>
      <p>Last Modified: $Date: 2006/03/27 17:06:18 $ CET</p>
    </revisiondesc>
  </header>
  <body>

    <!-- *************************************************************** -->

    <div1 id="intro">
      <head>Introduction</head>
      <p> The Web Services Description Language WSDL Version 2.0 (WSDL)
<bibref ref="WSDL-PART1"/> defines an XML language
for describing network services as collections of communication
endpoints capable of exchanging messages. WSDL service definitions
provide documentation for distributed systems and serve as a recipe
for automating the details involved in applications
communication. This document defines extensions for the WSDL 2.0
      language:</p>
      <ulist>
	<item><p>Message exchange patterns: <specref ref="meps"/></p></item>
	<item><p>Operation safety declaration: <specref ref="ext"/></p></item>
	<item><p>Operation styles: <specref ref="styles"/></p></item>
	<item><p>Binding extensions:</p>
	<ulist>
	  <item><p>A SOAP 1.2 <bibref ref="SOAP12-PART1"/> binding extension:
	  <specref ref="soap-binding"/></p></item>
	  <item><p>An HTTP/1.1 <bibref ref="RFC2616"/> binding extension:
	  <specref ref="http-binding"/></p></item>
	</ulist>
	</item>
      </ulist>

      <p> WSDL 2.0 Primer <bibref ref="WSDL-PART0"/> is a non-normative
document intended to provide an easily understandable tutorial on the
features of the WSDL Version 2.0 specifications.  </p>
      <p> The Core Language <bibref ref="WSDL-PART1"/> of the WSDL 2.0
specification describes the core elements of the WSDL language. </p>
      <!-- +++++++++ -->
      <div2 id="notcon">
        <head>Notational Conventions</head>
        <p>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 <bibref ref="RFC2119"/>.</p>
        <p>This specification uses a number of namespace prefixes throughout;
they are listed in <specref ref="tabprefns"/>. Note that the choice of
any namespace prefix is arbitrary and not semantically significant
(see <bibref ref="XMLInfoSet"/>).</p>
        <table border="1" summary="Mapping of prefixes used in this document to their&#13;&#10;  associated namespace name" id="tabprefns">
          <caption>Prefixes and Namespaces used in this specification</caption>
          <tbody>
            <tr>
              <th rowspan="1" colspan="1">Prefix</th>
              <th rowspan="1" colspan="1">Namespace</th>
              <th rowspan="1" colspan="1">Notes</th>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">wsdl</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2006/01/wsdl</attval>
              </td>
              <td rowspan="1" colspan="1">
		This namespace is defined in <bibref ref="WSDL-PART1"/>.
		A normative XML Schema <bibref ref="XMLSchemaP1"/>,
        <bibref ref="XMLSchemaP2"/> document for the
        <attval>http://www.w3.org/2006/01/wsdl</attval>
        namespace can be found at <loc href="http://www.w3.org/2006/01/wsdl" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2006/01/wsdl</loc>. This namespace is used as
	      the default namespace throughout this specification.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">wsdlx</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2006/01/wsdl-extensions</attval>
              </td>
              <td rowspan="1" colspan="1">
		This specification extends in section <specref ref="ext"/> the
		<attval>http://www.w3.org/2006/01/wsdl-extensions</attval> namespace defined in <bibref ref="WSDL-PART1"/>.
		A normative XML Schema <bibref ref="XMLSchemaP1"/>,
        <bibref ref="XMLSchemaP2"/> document for the
        <attval>http://www.w3.org/2006/01/wsdl-extensions</attval>
        namespace can be found at <loc href="http://www.w3.org/2006/01/wsdl-extensions" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2006/01/wsdl-extensions</loc>.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">wsoap</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
              </td>
              <td rowspan="1" colspan="1">Defined by this
	      specification. A normative XML Schema <bibref ref="XMLSchemaP1"/>,
            <bibref ref="XMLSchemaP2"/> document for the
            <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
            namespace can be found at <loc href="http://www.w3.org/2006/01/wsdl/soap" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2006/01/wsdl/soap</loc>.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">whttp</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2006/01/wsdl/http</attval>
              </td>
              <td rowspan="1" colspan="1">Defined by this
	      specification. A normative XML Schema <bibref ref="XMLSchemaP1"/>,
            <bibref ref="XMLSchemaP2"/> document for the
            <attval>http://www.w3.org/2006/01/wsdl/http</attval>
            namespace can be found at <loc href="http://www.w3.org/2006/01/wsdl/http" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2006/01/wsdl/http</loc>.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">wrpc</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2006/01/wsdl/rpc</attval>
              </td>
              <td rowspan="1" colspan="1">Defined by this
	      specification. A normative XML Schema <bibref ref="XMLSchemaP1"/>,
            <bibref ref="XMLSchemaP2"/> document for the
            <attval>http://www.w3.org/2006/01/wsdl/rpc</attval>
            namespace can be found at <loc href="http://www.w3.org/2006/01/wsdl/rpc" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">http://www.w3.org/2006/01/wsdl/rpc</loc>.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">xs</td>
              <td rowspan="1" colspan="1">
                <attval>http://www.w3.org/2001/XMLSchema</attval>
              </td>
              <td rowspan="1" colspan="1">Defined in the W3C XML Schema
          specification <bibref ref="XMLSchemaP1"/>, <bibref ref="XMLSchemaP2"/>.</td>
            </tr>
          </tbody>
        </table>
        <p>Namespace names of the general form
<attval>http://example.org/...</attval> and
<attval>http://example.com/...</attval> represent application or
context-dependent URIs <bibref ref="RFC3986"/>.</p>
        <p>All parts of this specification are normative, with the EXCEPTION
of pseudo-schemas, examples, and sections explicitly marked as
"Non-Normative".  Pseudo-schemas are provided for each component,
before the description of this component. They provide visual help for
the XML <bibref ref="XML10"/> serialization. The <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#bnfpseudoschemas" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">syntax of BNF
	pseudo-schemas</xspecref> is the same as the one used in <bibref ref="WSDL-PART1"/>.</p>
      </div2>

      <div2 id="assertions">
	<head>Assertions</head>
	<p>
	  Assertions about WSDL 2.0 documents and components that are
	  not enforced by the normative XML schema for WSDL 2.0 are
	  marked by a dagger symbol (†) at the end of a
	  sentence. Each assertion has been assigned a unique
	  identifier that consists of a descriptive textual prefix and
	  a unique numeric suffix. The numeric suffixes are assigned
	  sequentially and never reused so there may be gaps in the
	  sequence.  The assertion identifiers MAY be used by
	  implementations of this specification for any purpose,
	  e.g. error reporting.
	</p>
	<p>
	  The assertions and their identifiers are summarized in
	  section <specref ref="assertionsummary"/>.
	</p>
      </div2>

    </div1>

    <!-- *************************************************************** -->

<div1 id="meps">
<head>Predefined Message Exchange Patterns</head>

<p>
Web Services Description Language (WSDL) message exchange patterns (hereafter simply
'patterns') define the sequence and cardinality of abstract messages listed in 
an operation.  Message exchange patterns also define which other nodes send 
messages to, and receive messages from, the service implementing the operation.
</p>

<p>
A <emph>node</emph> is an agent (<xspecref href="http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/#agent" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">section 2.3.2.2
Agent of the Web Services Architecture</xspecref> <bibref ref="wsarch"/>) that can transmit and/or receive message(s) 
described in WSDL description(s) and process them.
</p>
<note>
    <p><assert class="exchange" id="NodeIdentity-2200000" required="false">A
        node MAY be accessible via more than one physical address or transport.</assert></p>
</note>

<p>
WSDL message exchange patterns describe the interaction at the abstract 
(interface) level, which may be distinct from the pattern used by the 
underlying protocol binding (e.g. SOAP Message Exchange
Patterns; section <specref ref="soap12-defaults"/> contains the
binding rules for the selection of a SOAP 1.2 message exchange
pattern based on the WSDL message exchange pattern in use for the SOAP
binding extension defined in this specification in section <specref ref="soap-binding"/>).
</p>

<p>
By design, WSDL message exchange patterns abstract out specific message types.
Patterns identify placeholders for messages, and placeholders are
associated with specific message types by the operation using the
pattern. 
</p>

<p>
Unless explicitly stated otherwise, WSDL message exchange patterns also
abstract out binding-specific information such as timing between
messages, whether the pattern is synchronous or asynchronous, and
whether the message are sent over a single or multiple channels.
</p>

<p>
Like interfaces and operations, WSDL message exchange patterns do not
exhaustively describe the set of messages exchanged between a service
and other nodes; <assert class="exchange" id="MEPDescriptiveness-2200001" required="false">by some prior agreement, another node and/or the
service MAY send other messages (to each other or to other nodes) that
are not described by the pattern.</assert> For instance, even though a pattern
may define a single message sent from a service to one other node, the
Web Service may multicast that message to other nodes.
</p>

<p>
To maximize reuse, WSDL message exchange patterns identify a minimal contract
between other parties and Web Services, and contain only information
that is relevant to both the Web Service and another party.
</p>

<p>This specification defines several message exchange patterns for
use with <emph>WSDL Version 2.0 Part 1: Core Language</emph> <bibref ref="WSDL-PART1"/>.</p>

<div2 id="mep-template">
<head>Template for Message Exchange Patterns</head>
<!-- should this section be marked "informative"? -->

<p>New Message Exchange Patterns may be defined by any organization able and
willing to do so.  It is recommended that the patterns use the general
template provided here, after examination of existing predefined patterns.</p>

<div3 id="template-sample">
<head>Pattern Name</head>

<p>This pattern consists of [number] message[s, in order] as follows:</p>

<p>[enumeration, specifying, for each message] A[n optional] message:</p>
<olist>
  <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is
<attval>[label]</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>[direction]</attval></p></item>
  <item><p>[received from|sent to] ['some' if first mention] node [node
identifier]</p></item>
</olist>

<p>This pattern uses the rule [fault ruleset reference].</p>

<p>An operation using this message exchange pattern has a
<prop comp="Interface Operation">message exchange pattern</prop>
property with the value <attval>[pattern IRI]</attval>.</p>

<p>Note: In the template, the bracketed items indicate a replacement operation.
Substitute the correct terms for each bracketed item.</p>

<p>Note: the "received from" and "sent to" are always from the point of
view of the service, and participating nodes other than the service are
implicitly identified as the originators of or destinations for
messages in the exchange.</p>

</div3>

</div2>

<div2 id="fault-rules">
<head>Fault Propagation Rules</head>

<p>WSDL patterns specify their fault propagation model using standard
rulesets to indicate where faults may occur.  The most common patterns
for fault propagation are defined here, and referenced by patterns later in
the document.  "Propagation" is defined as a best-effort attempt to transmit
the fault message to its designated recipient.</p>

<p>WSDL patterns specify propagation of faults, not their generation.  
<assert class="exchange" id="FaultPropagation-2200101" required="true">Nodes which generate a fault MUST attempt to propagate the faults in 
accordance with the governing ruleset, but it is understood that any 
delivery of a network message is best effort, not guaranteed.</assert>  The 
rulesets establish the direction of the fault message and the fault 
recipient, they do not provide reliability or other delivery guarantees. 
<assert class="exchange" id="FaultPropagation-2200102" required="true">When a fault is generated, the generating node MUST attempt to 
propagate the fault, and MUST do so in the direction and to the 
recipient specified by the ruleset.</assert>  <assert class="component" id="FaultPropagationModification-2200103" required="false">However, extensions or binding extensions
MAY modify these rulesets.</assert>  For example, WS-Addressing <bibref ref="WSA-Core"/>
defines a "FaultTo" address for messages, which is used in lieu of the recipient
nominated by the ruleset.</p> 

<p><assert class="exchange" id="MEPTermination-2200104" required="true">Generation of a fault, regardless of 
ruleset, terminates the exchange.</assert></p>

<p>Binding extensions, features, or extension specifications may override the 
semantics of a fault propagation ruleset, but this practice is strongly 
discouraged.</p> 

<div3 id="fault-replacement">
<head>Fault Replaces Message</head>

<p>
	<assert class="exchange" id="FaultReplacesMessage-2200201" required="false">
		Any message after the first in the pattern MAY be replaced with
		a fault message, which MUST have identical direction.
	</assert>
	<assert class="exchange" id="FaultDelivery-2200202" required="true">The fault message MUST be delivered to the same target node as the
	message it replaces, unless otherwise specified by an extension or
	binding extension. If there is no path to this node, the fault MUST
	be discarded.</assert>
</p>

<p>This fault propagation rule is identified by the following URI: <code>http://www.w3.org/2006/01/wsdl/fault-replaces-message</code></p>

</div3>

<div3 id="fault-trigger">
<head>Message Triggers Fault</head>

<p>
	<assert class="exchange" id="MessageTriggersFault-2200301" required="false">
		Any message, including the first in the pattern, MAY trigger a
		fault message, which MUST have opposite direction.
	</assert>
	<assert class="exchange" id="FaultDelivery-2200302" required="true">The fault message MUST be delivered to the originator of the
	triggering message, unless otherwise specified by an extension of
	binding extension. Any node MAY propagate a fault message, and MUST
	not do so more than once for each triggering message. If there is no
	path to the originator, the fault MUST be discarded.</assert>
</p>

<p>This fault propagation rule is identified by the following URI: <code>http://www.w3.org/2006/01/wsdl/message-triggers-fault</code></p>

</div3>

<div3 id="no-fault">
<head>No Faults</head>
<p>
	<assert class="exchange" id="NoFaults-2200401" required="true">
		Faults MUST NOT be propagated.
	</assert>
</p>

<p>This fault propagation rule is identified by the following URI: <code>http://www.w3.org/2006/01/wsdl/no-faults</code></p>

</div3>

</div2>

<div2 id="patterns">
<head>Message Exchange Patterns</head>

<p>WSDL patterns are described in terms of the WSDL component model,
specifically the <comp>Interface Message Reference</comp>
and <comp>Interface Fault Reference</comp> components. </p>

<div3 id="in-only">
<head>In-Only</head>
<p>
<assert class="component" id="InOnlyComposition-2200501" required="true">This pattern consists of exactly one message as
follows:</assert>
</p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>In</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>in</attval>
        </p>
      </item>
      <item>
        <p>
received from some node N
        </p>
      </item>
    </ulist>
  </item>
</olist>

<p><assert class="exchange" id="InOnlyFaults-2200502" required="true">This pattern uses the rule <specref ref="no-fault"/>.</assert></p>
<p>
An operation using this message exchange pattern has a
<prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/in-only</attval>.
</p>
</div3>

<div3 id="robust-in-only">
<head>Robust In-Only</head>
<p><assert class="component" id="RobustInOnlyComposition-2200601" required="true">This pattern consists of exactly one message as
follows:</assert></p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>In</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>in</attval></p></item>
      <item><p>received from some node N</p></item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="RobustInOnlyFaults-2200602" required="true">This pattern uses the rule <specref ref="fault-trigger"/>.</assert></p>
<p>An operation using this message exchange pattern has a
<prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/robust-in-only</attval>.</p>
</div3>

<div3 id="in-out">
<head>In-Out</head>
<p><assert class="component" id="InOutComposition-2200701" required="true">This pattern consists of exactly two messages, in order, as
follows:</assert></p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>In</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>in</attval>
        </p>
      </item>
      <item>
        <p>
received from some node N
        </p>
      </item>
    </ulist>
  </item>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>Out</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>out</attval>
        </p>
      </item>
      <item>
        <p>
sent to node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="InOutFaults-2200702" required="true">This pattern uses the rule <specref ref="fault-replacement"/>.</assert></p>
<p>
An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>.
</p>
</div3>

<div3 id="in-opt-out">
<head>In-Optional-Out</head>
<p><assert class="component" id="InOptOutComposition-2200801" required="true">This pattern consists of one or two messages, in order, as
follows:</assert></p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>In</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>in</attval></p></item>
      <item><p>received from some node N</p></item>
    </ulist>
  </item>
  <item><p>An optional message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>Out</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>out</attval></p></item>
      <item><p>sent to node N</p></item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="InOptOutFaults-2200802" required="true">This pattern uses the rule <specref ref="fault-trigger"/>.</assert></p>
<p>An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property
with the value <attval>http://www.w3.org/2006/01/wsdl/in-opt-out</attval>.</p>
</div3>

<div3 id="out-only">
<head>Out-Only</head>
<p><assert class="component" id="OutOnlyComposition-2200901" required="true">This pattern consists of exactly one message as
follows:</assert></p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>Out </attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>out</attval>
        </p>
      </item>
      <item>
        <p>
sent to some node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="OutOnlyFaults-2200902" required="true">This pattern uses the rule <specref ref="no-fault"/>.</assert></p>
<p>
An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/out-only</attval>.
</p>
</div3>

<div3 id="robust-out-only">
<head>Robust Out-Only</head>
<p><assert class="component" id="RobustOutOnlyComposition-2201001" required="true">This pattern consists of exactly one message as
follows:</assert></p>
<olist>
  <item><p>message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>Out</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>out</attval></p></item>
      <item><p>sent to some node N</p></item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="RobustOutOnlyFaults-2201002" required="true">This pattern uses the rule <specref ref="fault-trigger"/>.</assert></p>
<p>An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/robust-out-only</attval>.</p>
</div3>

<div3 id="out-in">
<head>Out-In</head>
<p><assert class="component" id="OutInComposition-2201101" required="true">This pattern consists of exactly two messages, in order, as
follows:</assert></p>
<olist>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>Out</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>out</attval>
        </p>
      </item>
      <item>
        <p>
sent to some node N
        </p>
      </item>
    </ulist>
  </item>
  <item>
    <p>
A message:
    </p>
    <ulist>
      <item>
        <p>
indicated by a <comp>Interface Message Reference</comp> component
whose <prop comp="Interface Message Reference">message label</prop>
is <attval>In</attval> and <prop comp="Interface Message Reference">direction</prop> is <attval>in</attval>
        </p>
      </item>
      <item>
        <p>
sent from node N
        </p>
      </item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="OutInFaults-2201102" required="true">This pattern uses the rule <specref ref="fault-replacement"/>.</assert></p>
<p>
An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/out-in</attval>.
</p>
</div3>

<div3 id="out-opt-in">
<head>Out-Optional-In</head>
<p><assert class="component" id="OutOptInComposition-2201201" required="true">This pattern consists of one or two messages, in order, as
follows:</assert></p>
<olist>
  <item><p>A message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>Out</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>out</attval></p></item>
      <item><p>sent to some node N</p></item>
    </ulist>
  </item>
  <item><p>An optional message:</p>
    <ulist>
      <item><p>indicated by a <comp>Interface Message Reference</comp> component whose
<prop comp="Interface Message Reference">message label</prop> is <attval>In</attval> and
<prop comp="Interface Message Reference">direction</prop> is <attval>in</attval></p></item>
      <item><p>sent from node N</p></item>
    </ulist>
  </item>
</olist>
<p><assert class="exchange" id="OutOptInFaults-2201202" required="true">This pattern uses the rule <specref ref="fault-trigger"/>.</assert></p>
<p>An operation using this message exchange pattern has
a <prop comp="Interface Operation">message exchange pattern</prop> property with
the value <attval>http://www.w3.org/2006/01/wsdl/out-opt-in</attval>.</p>
</div3>

</div2><!-- message exchange patterns -->

<div2 id="mep-sec-sec">
  <head>Security Considerations</head>

<p>Note that many of the message exchange patterns defined above describe
responses to an initial message (either a normal response message or a
fault.)</p>

<p>Such responses may be used in attempts to disrupt, attack, or map a
network, host, or services. When such responses are directed to an
address other than that originating the initial message, the source of
an attack may be obscured, or blame laid on a third party, or
denial-of-service attacks may be enabled or exacerbated.</p>

<p>Security mechanisms addressing such attacks may prevent the
delivery of response messages to the receiving node. Conformance to
the message exchange pattern is measured prior to the application of
these security mechanisms.</p>
</div2>

</div1><!-- section on meps -->

    <!-- *************************************************************** -->

    <div1 id="ext">
      <head>Predefined Extensions</head>

      <div2 id="safety">
	<head>Operation safety</head>

	<p>
	  This section defines an extension to WSDL 2.0 <bibref ref="WSDL-PART1"/> which allows marking an operation as a
	  safe interaction, as defined in <xspecref href="http://www.w3.org/TR/2004/REC-webarch-20041215/#safe-interaction" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">section
	  3.4. Safe Interactions</xspecref> of <bibref ref="webarch"/>.
	</p>

	<p>
	  This extension MAY be used for setting defaults in bindings,
	  such as in an HTTP binding per this specification (see
	  <specref ref="http-operation-decl-mapping"/>).
	</p>

        <div3 id="safety-decl-relate">
          <head>Relationship to WSDL Component Model</head>

	  <p>The safety extension adds the following property to the
	  <comp>Interface Operation</comp> component model (as defined in <bibref ref="WSDL-PART1"/>):</p>
	  
	  <ulist>
	    <item><p><propdef comp="Interface Operation">safety</propdef> REQUIRED. An <emph>xs:boolean</emph>
	    indicating whether the operation is asserted to be safe
	    for users of the described service to invoke.  If this
	    property is <attval>false</attval>, then no assertion has been made about
	    the safety of the operation, thus the operation MAY or MAY
	    NOT be safe.  <assert class="component" id="OperationSafety-2300001" required="false">However, an operation SHOULD be marked safe
	    if it meets the criteria for a safe interaction defined in
	    Section 3.5 of <bibref ref="webarch"/>.</assert></p></item>
	  </ulist>
	</div3>

        <div3 id="safety-decl-xml">
          <head>XML Representation</head>
	  <eg xml:space="preserve">&lt;description&gt;
 &lt;interface&gt;
   &lt;operation name="<emph>xs:NCName</emph>" pattern="<emph>xs:anyURI</emph>"
              <b>wsdlx:safe</b>="<emph>xs:boolean</emph>"? &gt;
  &lt;/operation&gt;
 &lt;/interface&gt;
&lt;/description&gt;</eg>

	  <p>The XML representation for the safety extension is an
	  <emph>attribute information item</emph> with the following Infoset properties: </p>
	  <ulist>
	    <item>
	      <p><assert class="document" id="OperationSafety-2300002" required="false">An OPTIONAL <att>safe</att>
	      <emph>attribute information item</emph> with the following
	      Infoset properties:</assert></p>
                  <ulist>
                    <item>
		      <p>A [local name] of <att>safe</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl-extensions</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
	  </ulist>

	</div3>

	<div3 id="safety-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>
          <p>See <specref ref="tab_safety_Mapping"/>.</p>

          <table border="1" id="tab_safety_Mapping">
            <caption>Mapping from XML Representation to Interface Operation component Extension Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
	      <tr>
		<td rowspan="1" colspan="1"><prop comp="Interface Operation">safety</prop></td>
		<td rowspan="1" colspan="1">
		  The actual value of the <att>safe</att> <emph>attribute information item</emph>, if
		  present, otherwise the value <attval>false</attval>.
		</td>
	      </tr>
	    </tbody>
	  </table>
	</div3>

      </div2>

    </div1>

    <!-- *************************************************************** -->

    <div1 id="styles">
      <head>Predefined Operation Styles</head>

        <p>
	This section defines <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#InterfaceOperationStyle" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">operation
	styles</xspecref> that can be used to place constraints on
        <comp>Interface Operation</comp> components, in particular
	with respect to the format of the messages they refer to.
	The serialization formats defined in section
	<specref ref="_http_serialization"/> require bound
	<comp>Interface Operation</comp> components to have one
	or more of the styles defined in this section.
      </p>

      <div2 id="RPCStyle">
    	<head>RPC Style</head>
	
	 <p>The RPC style is selected by assigning to an <comp>Interface
	 Operation</comp> component's <prop comp="Interface Operation">style</prop>
	 property the value <attval>http://www.w3.org/2006/01/wsdl/style/rpc</attval>.</p>
	
	 <p>In order to conform with the specification for the RPC style,
         an <comp>Interface Operation</comp> component MUST obey the constraints listed
         below. Furthermore, if the <att>wrpc:signature</att> extension is
         used, the corresponding <emph>attribute information item</emph> MUST be valid according to the schema
         for the extension and additionally MUST obey the constraints listed
         in <specref ref="InterfaceOperation_RPC_Signature_Definition"/>
         and <specref ref="InterfaceOperation_RPC_Signature_XMLRep"/>.</p>

	 <p><assert class="component" id="RPCStyle-5007" required="true">The RPC style MUST NOT be used for <comp>Interface Operation</comp>
	 components whose <prop comp="Interface Operation">message exchange pattern</prop>
	 property has a value other than <attval>http://www.w3.org/2006/01/wsdl/in-only</attval> or <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>.</assert></p>
	
         <p>The RPC style places restrictions for Remote Procedure
         Call-types of interactions. When this value is used, the
         associated messages MUST conform to the rules below,
         described using XML Schema <bibref ref="XMLSchemaP1"/>.  Note
         that operations containing messages described by other type
         systems may also indicate use of the RPC style, as long as
         they are constructed in such a way as to follow these
         rules.</p>
	
	 <p>If the <comp>Interface Operation</comp> component uses a
	 <prop comp="Interface Operation">message exchange pattern</prop> for which there is no output
	 element, i.e. <attval>http://www.w3.org/2006/01/wsdl/in-only</attval>, then the conditions
	 stated below that refer to output elements MUST be considered
	 to be implicitly satisfied.</p>
	
	 <ulist>
	
	   <item><p><assert class="component" id="RPCStyle-5008" required="true">The value of the <prop comp="Interface Message Reference">message content model</prop> property for the
	   <comp>Interface Message Reference</comp> components of the
	   <prop comp="Interface Operation">interface message
	   references</prop> property MUST be
	   <attval>#element</attval>.</assert></p></item>
	
	   <item><p> <assert class="component" id="RPCStyle-5009" required="true">The content model of input and output
       <prop comp="Interface Message Reference">element declaration</prop>
	   elements MUST be defined using a complex type that contains a
	   sequence from XML Schema.</assert></p></item>
	
	   <item><p> <assert class="component" id="RPCStyle-5010" required="true">The input sequence MUST only contain elements and element wildcards.</assert>
           It MUST NOT contain other structures such as xs:choice. <assert class="component" id="RPCStyle-5011" required="true">The input sequence
           MUST NOT contain more than one element wildcard.</assert> <assert class="component" id="RPCStyle-5012" required="true">The element wildcard, if
           present, MUST appear after any elements.</assert></p></item>

           <item><p><assert class="component" id="RPCStyle-5013" required="true">The output sequence MUST only contain elements.</assert> It MUST NOT contain
           other structures such as xs:choice.</p></item>
	
	   <item><p><assert class="component" id="RPCStyle-5014" required="true">The sequence MUST contain only local element
	   children.</assert> Note that these child elements MAY contain the
	   following attributes: nillable, minOccurs and
	   maxOccurs.</p></item>
	
	   <item><p><assert class="component" id="RPCStyle-5015" required="true">The local name of input element's QName MUST be
	   the same as the <comp>Interface Operation</comp> component's
	   name.</assert></p></item>
	
	   <item><p><assert class="component" id="RPCStyle-5016" required="true">Input and output elements MUST both be in the
	   same namespace.</assert></p></item>
	
	   <item><p> <assert class="component" id="RPCStyle-5017" required="true">The complex type that defines the body of an
	   input or an output element MUST NOT contain any local
	   attributes.</assert> Extension attributes are allowed for purposes
           of managing the message infrastructure (e.g. adding identifiers
           to facilitate digitally signing the contents of the message).
           They must not be considered as part of the application data
           that is conveyed by the message. Therefore, they are never
           included in an RPC signature (see <specref ref="InterfaceOperation_RPC_Signature_Definition"/>).
           </p></item>
	
	   <item><p> <assert class="component" id="RPCStyle-5018" required="true">If elements with the same qualified name appear
	   as children of both the input and output elements, then
	   they MUST both be declared using the same named type.</assert></p></item>
	
	   <item><p><assert class="component" id="RPCStyle-5019" required="true">The input or output sequence MUST NOT contain
	   multiple children elements declared with the same
	   name.</assert></p></item>
	
	  </ulist>
    <div3 id="InterfaceOperation_RPC_Signature_Definition">
      <head><att>wrpc:signature</att> Extension</head>
	
	<p>The <att>wrpc:signature</att> extension <emph>attribute information item</emph> MAY be used in conjunction with
	the RPC style to describe the exact signature of the function represented
	by an operation that uses the RPC style.</p>
    
	<p>When present, the <att>wrpc:signature</att> extension contributes the following
	property to the <comp>Interface Operation</comp> component it is applied to:</p>
       <ulist>
	<item><p><propdef comp="Interface Operation">rpc signature</propdef> REQUIRED. A list of pairs <emph>(q, t)</emph>
	whose first component is of type <emph>xs:QName</emph> and whose second component is of type
	<emph>xs:token</emph>.
	<assert class="component" id="WRPC-5020" required="true">Values for the second component MUST be chosen among the following four:
	"#in", "#out", "#inout" "#return".</assert></p></item>
	
	</ulist>
	<p>
	The value of the <prop comp="Interface Operation">rpc signature</prop> property MUST satisfy the following conditions:
	</p>
	<ulist>
	  <item><p><assert class="component" id="WRPC-5021" required="true">The value of the first component of each pair <emph>(q, t)</emph> MUST
	  be unique within the list.</assert></p></item>
	  <item><p><assert class="component" id="WRPC-5022" required="true">For each child element of the input and output messages of the operation,
	  a pair <emph>(q, t)</emph> whose first component <emph>q</emph> is equal to
	  the qualified name of that element MUST be present in the list, with the caveat
	  that elements that appear with cardinality greater than one MUST be treated as
	  a single element.</assert></p></item>
	  <item><p><assert class="component" id="WRPC-5023" required="true">For each pair <emph>(q, #in)</emph>, there MUST be a child element of the
	  input element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the output element with the same name.</assert></p></item>
	  <item><p><assert class="component" id="WRPC-5024" required="true">For each pair <emph>(q, #out)</emph>, there MUST be a child element of the
	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the input element with the same name.</assert></p></item>
	  <item><p><assert class="component" id="WRPC-5025" required="true">For each pair <emph>(q, #inout)</emph>, there MUST be a child element of the
	  input element with a name of <emph>q</emph> and there MUST be a child element
	  of the output element with the same name. Furthermore, those two elements MUST
	  have the same type.</assert></p></item>
	  <item><p><assert class="component" id="WRPC-5026" required="true">For each pair <emph>(q, #return)</emph>, there MUST be a child element of the
	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the input element with the same name.</assert></p></item>
	</ulist>
	<p>
	The function signature defined by a <att>wrpc:signature</att> extension is
	determined as follows:
        </p>
	<olist>
	  <item><p>Start with the value of the <prop comp="Interface Operation">rpc signature</prop> property, a (possibly empty)
	  list of pairs of this form:</p>
	  <p>    <emph>[(q0, t0), (q1, t1), ...]</emph></p></item>
	  <item><p>Filter the elements of this list into two lists, the first one <emph>(L1)</emph>
	     comprising pairs
	     whose <emph>t</emph> component is one of <emph>{#in, #out, #inout}</emph>,
	     the second <emph>(L2)</emph> pairs
	     whose <emph>t</emph> component is <emph>#return</emph>.
             During the composition of <emph>L1</emph> and <emph>L2</emph>,
             the relative order of members in the original list MUST
             be preserved.</p>
	     <p>For ease of visualization, let's denote the two lists as</p>
	     <p>    (L1)    <emph>[(a0, u0), (a1, u1),...]</emph></p>
	     <p>and</p>
	     <p>    (L2)    <emph>[(r0, #return), (r1, #return),...]</emph></p>
	     <p>respectively.</p></item>
	  <item><p>Then, if the input sequence ends with an element wildcard, the formal
                signature of the function is</p>
	     <p>    <emph>f([d0] a0, [d1] a1, ..., rest) =&gt; (r0, r1, ...)</emph></p>
             <p>where <emph>rest</emph> is a formal parameter representing the elements in the
                input message matched by the element wildcard.</p>
             <p>Otherwise the formal signature of the function is</p>
	     <p>    <emph>f([d0] a0, [d1] a1, ...) =&gt; (r0, r1, ...)</emph></p>
	     <p>i.e.</p>
	     <p>
	       <ulist>
		 <item><p>the list of formal arguments to the function is <emph>[a0, a1, ...]</emph>;
		 </p></item>
		 <item><p>the direction <emph>d</emph> of each formal argument <emph>a</emph> is one of
		 <emph>[in]</emph>, <emph>[out]</emph>, <emph>[inout]</emph>,
		 determined according to the value of its corresponding <emph>u</emph> token;
		 </p></item>
		 <item><p>the list of formal return parameters of the function is
		   <emph>[r0, r1, ...]</emph>;</p></item>
		 <item><p>each formal argument and formal return parameter is typed
		 according to the type of the child element identified by it
		 (unique per the conditions given above).</p></item>
	       </ulist>
	     </p>
	    </item>
	</olist>

	<note>
	    <p>The <att>wrpc:signature</att> extension allows the specification
            of multiple return values for an operation. Several popular programming
            languages support multiple return values for a function. Moreover, for
            languages which do not, the burden on implementors should be small,
            as typically multiple return values will be mapped to a single
            return value of a structure type (or its closest language-specific
            equivalent). </p>
	</note>

	</div3>

      <div3 id="InterfaceOperation_RPC_Signature_XMLRep">
        <head>XML Representation of the <att>wrpc:signature</att> Extension</head>
          <p>
	  The XML representation for the RPC signature extension is an
	  <emph>attribute information item</emph> with the following Infoset properties:
	  </p>
	  <ulist>
	      <item><p>A [local name] of <att>signature</att></p></item>
	      <item><p>A [namespace name] of "http://www.w3.org/2006/01/wsdl/rpc"</p></item>
	  </ulist>
	  <p>
	  The type of the <att>name</att> <emph>attribute information item</emph> is a list type whose item type is
	  the union of the <emph>xs:QName</emph> type and the subtype of
	  the <emph>xs:token</emph> type restricted to the following
	  four values: "#in", "#out", "#inout",
	  "#return".
          See <specref ref="rpc-signature-xsd"/> for an excerpt from the
          normative schema definition of this type.
	  </p>
	  <p><assert class="document" id="WRPC-5027" required="true">Additionally, each even-numbered item (0, 2, 4, ...) in the list
	  MUST be of type <emph>xs:QName</emph> and each odd-numbered item (1, 3, 5, ...)
	  in the list MUST be of the subtype of <emph>xs:token</emph> described in the
	  previous paragraph.</assert>
	  </p>
	  <p/>
          <p>
	    <example id="rpc-signature-xsd">
	    <head>Definition of the wrpc:signature extension</head>
	    <eg xml:space="preserve">
&lt;xs:attribute name="signature" type="wrpc:signatureType"/&gt;

&lt;xs:simpleType name="signatureType"&gt;
  &lt;xs:list itemType="wrpc:signatureItemType"/&gt;
&lt;/xs:simpleType&gt;

&lt;xs:simpleType name="signatureItemType"&gt;
  &lt;xs:union memberTypes="xs:QName wrpc:directionToken"/&gt;
&lt;/xs:simpleType&gt;

&lt;xs:simpleType name="directionToken"&gt;
  &lt;xs:restriction base="xs:token"&gt;
    &lt;xs:enumeration value="#in"/&gt;
    &lt;xs:enumeration value="#out"/&gt;
    &lt;xs:enumeration value="#inout"/&gt;
    &lt;xs:enumeration value="#return"/&gt;
  &lt;/xs:restriction&gt;
&lt;/xs:simpleType&gt;
	  
	   </eg>
	   </example>
          </p>
      </div3>

    <div3 id="InterfaceOperation_RPC_Signature_Mapping">
	  <head><att>wrpc:signature </att>Extension Mapping To Properties of an
	  Interface Operation component</head>

	  <p>A <att>wrpc:signature</att> extension <emph>attribute information item</emph> is mapped to the following
	  property of the <comp>Interface Operation</comp> component defined by its [owner].</p>

	  <table border="1" id="tab_InterfaceOperation_RPC_Signature_Mapping">
	    <caption>Mapping of a <att>wrpc:signature</att> Extension to Interface Operation component Properties</caption>
		<col width="20%" span="1"/>
  		<col width="80%" span="1"/>
	    <tbody>
		  <tr>
		    <th rowspan="1" colspan="1">Property</th>
		    <th rowspan="1" colspan="1">Value</th>
		  </tr>
		  <tr>
		    <td rowspan="1" colspan="1"><prop comp="Interface Operation">rpc signature</prop></td>
			<td rowspan="1" colspan="1"> A list of <emph>(xs:QName, xs:token)</emph> pairs formed
			by grouping the items present in the actual value of the
			<att>wrpc:signature</att> <emph>attribute information item</emph> in the order in which they appear
			there.</td>
		  </tr>
		</tbody>
	  </table>

    </div3>
      
    </div2>



        <div2 id="_operation_iri_style">
          <head>IRI Style</head>
          <p>
	  The IRI style is selected by assigning the <comp>Interface
	  Operation</comp> component's <prop comp="Interface Operation">style</prop> property the value
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval>.
	  </p>

	   <p><assert class="component" id="IRIStyle-5028" required="true">When using this style, the value of the <prop comp="Interface Message Reference">message content
	   model</prop> property of the <comp>Interface Message
	   Reference</comp> component corresponding to the initial
	   message of the message exchange pattern MUST be
	   <attval>#element</attval>.</assert></p>
	
          <p>
	  Use of this value indicates that XML Schema <bibref ref="XMLSchemaP1"/> was used to define the schema of the
	  <prop comp="Interface Message Reference">element declaration</prop>
	  property of the <comp>Interface Message
	  Reference</comp> component of the <comp>Interface Operation</comp> component
	  corresponding to the initial message of the message exchange
	  pattern. This schema MUST adhere to the rules below:
	</p>
          <ulist>
            <item>
              <p>
	      The content model of this element
	      is defined using a complex type that contains a
	      sequence from XML Schema.
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="IRIStyle-5029" required="true">The sequence MUST only contain elements.</assert> It MUST NOT
	      contain other structures such as xs:choice.
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="IRIStyle-5030" required="true">The sequence MUST contain only local element
	      children. These child elements MAY contain the
	      <att>nillable</att> attribute.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="IRIStyle-5031" required="true">The localPart of the element's QName MUST be the same
	      as the <comp>Interface Operation</comp> component's
	      <prop comp="Interface Operation">name</prop>.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="IRIStyle-5032" required="true">The complex type that defines the body of the 
	      element or its children elements MUST NOT contain any
	      attributes.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="IRIStyle-5034" required="true">If the children elements of the sequence are
	      defined using an XML Schema type, they MUST derive from
	      <code>xs:simpleType</code>, and MUST NOT be of the type
	      or derive from <code>xs:QName</code>,
	      <code>xs:NOTATION</code>, <code>xs:hexBinary</code> or
	      <code>xs:base64Binary</code>.</assert>
	    </p>
            </item>
          </ulist>
        </div2>
        <div2 id="_operation_multipart_style">
          <head>Multipart style</head>
          <p>
	  The Multipart style is selected by assigning the <comp>Interface
	  Operation</comp> component's <prop comp="Interface Operation">style</prop> property the value
	  <attval>http://www.w3.org/2006/01/wsdl/style/multipart</attval>.
	</p>

	   <p><assert class="component" id="MultipartStyle-5035" required="true">When using this style, the value of the <prop comp="Interface Message Reference">message content
	   model</prop> property of the <comp>Interface Message
	   Reference</comp> component corresponding to the initial
	   message of the message exchange pattern MUST be
	   <attval>#element</attval>.</assert></p>
	
          <p>
	  Use of this value indicates that XML Schema <bibref ref="XMLSchemaP1"/> was used to define the schema of the
	  <prop comp="Interface Message Reference">element declaration</prop>
	  property of the <comp>Interface Message
	  Reference</comp> component of the <comp>Interface Operation</comp> component
	  corresponding to the initial message of the message exchange
	  pattern. This schema MUST adhere to the rules below:
	</p>
          <ulist>
            <item>
              <p>
	      The content model of this element
	      is defined using a complex type that contains a
	      sequence from XML Schema.
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="MultipartStyle-5036" required="true">The sequence MUST only contain elements.</assert> It MUST NOT
	      contain other structures such as xs:choice.
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="MultipartStyle-5081" required="true">The sequence MUST contain only local element
	      children. These child elements MAY contain the
	      <att>nillable</att> attribute, and the attributes
	      <att>minOccurs</att> and <att>maxOccurs</att> MUST have
	      a value <code>1</code>.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="MultipartStyle-5037" required="true">The localPart of the element's QName MUST be the same
	      as the <comp>Interface Operation</comp> component's
	      <prop comp="Interface Operation">name</prop>.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="MultipartStyle-5038" required="true">The complex type that defines the body of the 
	      element or its children elements MUST NOT contain any
	      attributes.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="MultipartStyle-5039" required="true">The sequence MUST NOT contain multiple children
	      element declared with the same local name.</assert>
	    </p>
            </item>
          </ulist>
        </div2>

    </div1>

    <!-- *************************************************************** -->

    <div1 id="soap-binding">
      <head>WSDL SOAP Binding Extension</head> 

      <p>The SOAP binding extension described in this section is SOAP version
      independent ("1.2" as well as other versions) and an extension
      for <bibref ref="WSDL-PART1"/> to enable Web Services
      applications to use SOAP. This
      binding extension extends WSDL 2.0 by adding properties to the <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#Binding" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Binding
      component</xspecref> as defined in <bibref ref="WSDL-PART1"/>. In addition, an XML Infoset representation
      for these additional properties is provided, along with a
      mapping from that representation to the various component
      properties.</p>

      <p>As allowed in <bibref ref="WSDL-PART1"/>, a <comp>Binding</comp> component
      MAY exist without indicating a specific <comp>Interface</comp>
      component that it applies to. In this case, there MUST
      NOT be any <comp>Binding Operation</comp> or
      <comp>Binding Fault</comp> components present in the <comp>Binding</comp>
      component.</p>

      <p>The SOAP binding extension is designed with the objective of minimizing
      what needs to be explicitly declared for common cases. This is
      achieved by defining a set of default rules which apply for all
      <comp>Interface Operation</comp> components of an <comp>Interface</comp> component, unless
      specifically overridden on a per Interface Operation basis. Thus,
      if a given <comp>Interface Operation</comp> component is not referred to
      specifically, then all the default rules apply for that
      component. That is, per the requirements of <bibref ref="WSDL-PART1"/>, all operations of an <comp>Interface</comp> component are
      bound according to this binding extension.</p>

      <p>A subset of the HTTP properties specified in the HTTP binding extension
      defined in section <specref ref="http-binding"/> may be
      expressed in a SOAP binding when the SOAP binding uses HTTP as
      the underlying protocol, for example, when the value of the
      <prop comp="Binding">soap underlying protocol</prop> property of the <comp>Binding</comp> component is
      <attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>.  The properties that are
      allowed are the ones that describe the underlying protocol:</p>

      <ulist>
	<item><p><prop comp="Binding Operation">http location</prop> on <comp>Binding Operation</comp> components, as defined in <specref ref="http-operation-decl"/></p></item>
	<item><p><prop comp="Binding Message Reference">http headers</prop> on <comp>Binding Message Reference</comp> and <comp>Binding Fault</comp> components, as defined in <specref ref="http-headers-decl"/></p></item>
	<item><p><prop comp="Binding">http transfer
	coding default</prop> on <comp>Binding</comp> and <comp>Binding Operation</comp> components, <prop comp="Binding Message Reference">http transfer
	coding</prop> on <comp>Binding Message Reference</comp> and <comp>Binding Fault</comp> components, as defined in <specref ref="http-transfer-coding-decl"/></p></item>
	<item><p><prop comp="Binding">http cookies</prop> on <comp>Binding</comp> components, as defined in <specref ref="http-cookies-decl"/></p></item>
	<item><p><prop comp="Endpoint">http authentication scheme</prop> and
	<prop comp="Endpoint">http authentication realm</prop> on <comp>Endpoint</comp> components, as defined in <specref ref="http-auth-decl"/></p></item>
      </ulist>

      <!-- +++++++++ -->

      <div2 id="soap-syntax">
        <head>XML Syntax Summary (Non-Normative)</head>

        <eg xml:space="preserve">
&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"?
           type="<emph>http://www.w3.org/2006/01/wsdl/soap</emph>"
           whttp:transferCodingDefault="<emph>xs:string</emph>"??
           <b>wsoap:version</b>="<emph>xs:string</emph>"?
           <b>wsoap:protocol</b>="<emph>xs:anyURI</emph>"
           <b>wsoap:mepDefault</b>="<emph>xs:anyURI</emph>"? &gt;
    &lt;documentation /&gt;*

    &lt;<b>wsoap:module</b> ref="<emph>xs:anyURI</emph>" required="<emph>xs:boolean</emph>"? &gt;
      &lt;documentation /&gt;*
    &lt;/<b>wsoap:module</b>&gt;*
    
    &lt;fault ref="<emph>xs:QName</emph>"
           <b>wsoap:code</b>="<emph>union of xs:QName, xs:token</emph>"?
           <b>wsoap:subcodes</b>="<emph>list of xs:QName</emph>"?
           whttp:transferCoding="<emph>xs:string</emph>"?? &gt;

      &lt;documentation /&gt;*

      &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;<b>wsoap:header</b> element="<emph>xs:QName</emph>" mustUnderstand="xs:boolean"?
                    required="<emph>xs:boolean</emph>"? &gt;
        &lt;documentation /&gt;*
      &lt;/<b>wsoap:header</b>&gt;*
      &lt;<b>whttp:header</b> ... /&gt;*??

      [ &lt;feature /&gt; | &lt;property /&gt; ]*
    &lt;/fault&gt;*

    &lt;operation ref="<emph>xs:QName</emph>" 
               whttp:location="<emph>xs:anyURI</emph>"??
               whttp:transferCodingDefault="<emph>xs:string</emph>"?? &gt;
               <b>wsoap:mep</b>="<emph>xs:anyURI</emph>"?
               <b>wsoap:action</b>="<emph>xs:anyURI</emph>"? &gt;

      &lt;documentation /&gt;*

      &lt;<b>wsoap:module</b> ... /&gt;*

      &lt;input messageLabel="<emph>xs:NCName</emph>"?
             whttp:transferCoding="<emph>xs:string</emph>"?? &gt;
        &lt;documentation /&gt;*
        &lt;<b>wsoap:module</b> ... /&gt;*
        &lt;<b>wsoap:header</b> ... /&gt;*
	&lt;<b>whttp:header</b> ... /&gt;*??
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/input&gt;*

      &lt;output messageLabel="<emph>xs:NCName</emph>"?
             whttp:transferCoding="<emph>xs:string</emph>"?? &gt;
        &lt;documentation /&gt;*
        &lt;<b>wsoap:module</b> ... /&gt;*
        &lt;<b>wsoap:header</b> ... /&gt;*
	&lt;<b>whttp:header</b> ... /&gt;*??
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/output&gt;*

      &lt;infault ref="<emph>xs:QName</emph>"
                  messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;documentation /&gt;*
        &lt;<b>wsoap:module</b> ... /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/infault&gt;*

      &lt;outfault ref="<emph>xs:QName</emph>"
                   messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;documentation /&gt;*
        &lt;<b>wsoap:module</b> ... /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/outfault&gt;*

      [ &lt;feature /&gt; | &lt;property /&gt; ]*

    &lt;/operation&gt;*

    [ &lt;feature /&gt; | &lt;property /&gt; ]*

  &lt;/binding&gt;

  &lt;service&gt;
    &lt;endpoint name="<emph>xs:NCName</emph>" binding="<emph>xs:QName</emph>" address="<emph>xs:anyURI</emph>"?
              whttp:authenticationType="<emph>xs:token</emph>"?? 
              whttp:authenticationRealm="<emph>xs:string</emph>"?? &gt;
      &lt;documentation /&gt;*
      [ &lt;feature /&gt; | &lt;property /&gt; ]*
    &lt;/endpoint&gt;
    [ &lt;feature /&gt; | &lt;property /&gt; ]*
  &lt;/service&gt;
&lt;/description&gt;
</eg>

<note><p>The double question marks ("<code>??</code>") after the
attributes in the <att>whttp</att> namespace indicates that those
optional attributes only make sense when the SOAP binding uses
HTTP as the underlying protocol, for example, when the value of the
<att>wsoap:protocol</att> attribute is
<attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>.</p></note>

      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-binding-decl">
        <head>Identifying the use of the SOAP Binding</head>

        <p>A <comp>Binding</comp> component (defined in <bibref ref="WSDL-PART1"/>)
        is identified as a SOAP binding by assigning the value
        <attval>http://www.w3.org/2006/01/wsdl/soap</attval> to the <prop comp="Binding">type</prop> property of
        the <comp>Binding</comp> component.</p>
      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-defaults">
        <head>SOAP Binding Rules</head>

	<ulist>
	  <item>
          <p><emph>Payload Construction.</emph> <assert class="component" id="SOAPBinding-5040" required="true">When formulating
          the SOAP envelope to be transmitted, the contents of the
          payload (i.e., the contents of the SOAP Body <emph>element information item</emph>
          of the SOAP envelope) MUST be what is defined by the
          corresponding <comp>Interface Message Reference</comp> component.</assert> This is subject
	  to optimization by a feature that is in use which may affect
          serialization, such as MTOM <bibref ref="MTOM"/>. The
          following binding rules MUST be adhered to:</p>

          <ulist>
            <item><p>If the value of the
            <prop comp="Interface Message Reference">message content model</prop>
            property of the <comp>Interface Message Reference</comp> component is <attval>#any</attval> then
            the payload MAY be any one XML element.</p></item>

            <item><p><assert class="component" id="SOAPBinding-5041" required="true">If the value is <attval>#none</attval> then the
            payload MUST be empty.</assert></p></item>

            <item><p>If the value is <attval>#element</attval> then the
            payload will be the <emph>element information item</emph> identified by the
            <prop comp="Interface Message Reference">element declaration</prop>
            property of the <comp>Interface Message Reference</comp> component.</p></item>
 
            <item> <p><assert class="component" id="SOAPBinding-5042" required="true">If the <comp>Interface Message Reference</comp> component is declared
            using a non-XML type system (as considered in the Types
            section of <bibref ref="WSDL-PART1"/>) then additional
            binding rules MUST be defined to indicate how to map those
            components into the SOAP envelope.</assert> </p></item>
          </ulist>
          
          <note><p>This SOAP binding extension only allows one single element in
          SOAP body.</p></note>

	  </item>
	  <item>
	  
          <p><emph>SOAP Header Construction.</emph> If the
          <prop comp="Binding Message Reference">soap headers</prop> property as defined in section <specref ref="soap-headers-decl"/> exists and is not empty in a
          <comp>Binding Message Reference</comp> or <comp>Binding Fault</comp> component, <emph>element information item</emph>
          conforming to the element declaration of a <comp>SOAP Header Block</comp>
          component's <prop comp="SOAP Header Block">element declaration</prop> property, in the
          <prop comp="Binding Message Reference">soap headers</prop> property,
          MAY be turned into a SOAP header block for
          the corresponding message.</p>

	  <p>If the value of the <comp>SOAP Header Block</comp>
	  component's <prop comp="SOAP Header Block">required</prop>
	  property is <attval>true</attval>, the inclusion of this
	  SOAP header block is REQUIRED, otherwise it is OPTIONAL.</p>

	  <p>And, if the <comp>SOAP Header Block</comp> component's
	  <prop comp="SOAP Header Block">mustUnderstand</prop> property 
	  is present and its value is <attval>true</attval>, that 
	  particular SOAP header block should be
	  marked with a <att>mustUnderstand</att> <emph>attribute information item</emph> with a value
	  of <attval>true</attval> or <attval>1</attval> as per the
	  SOAP specification.</p>

	  <p>SOAP header blocks other than the ones declared in the
	  <prop comp="Binding Message Reference">soap headers</prop> property may be present at run-time, such as
	  the SOAP header blocks resulting from SOAP modules declared
	  as explained in section <specref ref="soap-module-decl"/>.</p>

	  </item>
	</ulist>
      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-version">
        <head>Specifying the SOAP Version</head>

        <div3 id="soap-version-description">
          <head>Description</head>

          <p><assert class="component" id="SOAPBinding-5043" required="true">Every SOAP binding MUST indicate what version of SOAP is in use
          for the operations of the interface that this binding applies to.</assert></p>
          
          <p>By default, SOAP 1.2 <bibref ref="SOAP12-PART1"/> is used.</p>
        </div3>

        <div3 id="soap-version-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The SOAP protocol specification adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding">soap version</propdef> REQUIRED. A <emph>xs:string</emph>, to the <comp>Binding</comp>
            component.</p></item>
          </ulist>

        </div3>

        <div3 id="soap-version-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding  name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"? type="<emph>xs:anyURI</emph>"
            <b>wsoap:version</b>="<emph>xs:string</emph>"? &gt;
    ...
  &lt;/binding&gt;
&lt;/description&gt;
</eg>
          <p>The XML representation for specifying the SOAP version
          is an optional <emph>attribute information item</emph> with the following Infoset properties: </p>

          <ulist>
            <item>
              <p>A [local name] of <el>version</el>
              </p>
            </item>
            <item>
              <p>A [namespace name] of
  <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
              </p>
            </item>
            <item>
	            <p>A type of <emph>xs:string</emph></p>
	          </item>
          </ulist>
        </div3>

        <div3 id="soap-version-decl-mapping">
          <head>Mapping from XML Representation to Component properties</head>

          <p>See <specref ref="tab_SOAP_version_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_version_Mapping">
            <caption>Mapping from XML Representation to Binding component Extension
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">soap version</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>wsoap:version</att>
                  <emph>attribute information item</emph> if present, otherwise <attval>1.2</attval>.
                  </td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-protocol">
        <head>Specifying the SOAP Underlying Protocol</head>

        <div3 id="soap-protocol-description">
          <head>Description</head>


          <p><assert class="component" id="SOAPBinding-5044" required="true">Every SOAP binding MUST indicate what underlying protocol is in
          use.</assert></p>

        </div3>

        <div3 id="soap-protocol-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The SOAP protocol specification adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding">soap underlying
            protocol</propdef> REQUIRED. A <emph>xs:anyURI</emph>,
            which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding</comp>
            component. This IRI refers to an appropriate SOAP
            underlying protocol binding (see SOAP Protocol Binding
            Framework in <bibref ref="SOAP12-PART1"/>), which is to be
            used for any of the SOAP interactions described by this
            binding.</p></item>
          </ulist>

        </div3>

        <div3 id="soap-binding-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding  name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"? type="<emph>xs:anyURI</emph>"
            <b>wsoap:protocol</b>="<emph>xs:anyURI</emph>" &gt;
    ...
  &lt;/binding&gt;
&lt;/description&gt;
</eg>
          <p>The XML representation for specifying the SOAP protocol
          is a REQUIRED <emph>attribute information item</emph> with the following Infoset properties: </p>

          <ulist>
            <item>
              <p>A [local name] of <el>protocol</el>
              </p>
            </item>
            <item>
			  <p>A [namespace name] of
  				<attval>http://www.w3.org/2006/01/wsdl/soap</attval>
			  </p>
            </item>
	    <item>
	      <p>A type of <emph>xs:anyURI</emph></p>
	    </item>
          </ulist>
        </div3>

        <div3 id="soap-binding-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_SOAP_Binding_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_Binding_Mapping">
            <caption>Mapping from XML Representation to Binding component Extension
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">soap underlying protocol</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>wsoap:protocol</att>
                  <emph>attribute information item</emph>.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-fault-decl">
        <head>Binding Faults</head>

        <div3 id="soap-fault-decl-description">
          <head>Description</head>

          <p><assert class="component" id="SOAPBindingFault-5045" required="true">For every <comp>Interface Fault</comp> component contained in an
          <comp>Interface</comp> component, a mapping to a SOAP Fault MUST be
          described.</assert> This binding extension specification allows the user to
          indicate the SOAP fault code and subcodes that are
          transmitted for a given <comp>Interface Fault</comp> component.</p>
        </div3>

        <div3 id="soap-fault-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The SOAP Fault binding extension adds the following
          properties to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding Fault">soap fault code</propdef> REQUIRED. A union of <emph>xs:QName</emph> and
		  <emph>xs:token</emph> where the allowed token value
		  is <attval>#any</attval>, to
            the <comp>Binding Fault</comp> component. The value of this property
            identifies a possible SOAP fault for the operations in
            scope. If the value of this property is <attval>#any</attval>, no assertion is made
	    about the value of the SOAP fault code.</p> </item>

            <item><p><propdef comp="Binding Fault">soap fault subcodes</propdef> REQUIRED. 
	    A union of list of <emph>xs:QName</emph>, and
		  <emph>xs:token</emph> where the allowed token value
		  is <attval>#any</attval>, to the <comp>Binding Fault</comp> component.
            The value of this property identifies one or more subcodes
            for this SOAP fault. If the value of this property is <attval>#any</attval>, no assertion is
    made about the value of the SOAP fault subcode.</p>
            </item>
          </ulist>
        </div3>

        <div3 id="soap-fault-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding &gt;
    &lt;fault ref="<emph>xs:QName</emph>"
           <b>wsoap:code</b>="<emph>union of xs:QName, xs:token</emph>"?
           <b>wsoap:subcodes</b>="<emph>list of xs:QName</emph>"? &gt;
      &lt;documentation /&gt;*
      [ &lt;feature /&gt; | &lt;property /&gt; ]*
    &lt;/fault&gt;*
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for binding a SOAP Fault are two
          <emph>attribute information item</emph>s with the following Infoset properties: </p>

          <ulist>
            <item><p>wsoap:code OPTIONAL <emph>attribute information item</emph></p>
              <ulist>
                <item><p>A [local name] of <el>code</el></p></item>

                <item> <p>A [namespace name] of
                <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
                </p></item>
		<item>
		  <p>A type of union of <emph>xs:QName</emph> and
		  <emph>xs:token</emph> where the allowed token value
		  is <attval>#any</attval></p>
		</item>
              </ulist>
            </item>
            <item><p>wsoap:subcodes OPTIONAL <emph>attribute information item</emph></p>
              <ulist>
                <item><p>A [local name] of <el>subcodes</el></p></item>

                <item> <p>A [namespace name] of
                <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
                </p></item>
		<item>
		  <p>A type of union of list of <emph>xs:QName</emph>, and
		  <emph>xs:token</emph> where the allowed token value
		  is <attval>#any</attval></p>
		</item>
              </ulist>
            </item>
          </ulist>
        </div3>

        <div3 id="soap-fault-decl-mapping">
          <head>Mapping XML Representation to Component Properties</head>

          <p>See <specref ref="tab_SOAP_Fault_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_Fault_Mapping">
            <caption>Mapping from XML Representation to SOAP Fault component Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Fault">soap fault code</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>code</att>
                  <emph>attribute information item</emph> if present; otherwise
		<attval>#any</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Fault">soap fault subcodes</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>subcodes</att>
                  <emph>attribute information item</emph>, if present; otherwise <attval>#any</attval>.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="soap-operation-decl">
        <head>Binding Operations</head>

        <div3 id="soap-operation-decl-description">
          <head>Description</head>

          <p>For every <comp>Interface Operation</comp> component contained in an <comp>Interface</comp>
          component, in addition to the binding rules (for SOAP 1.2,
          see <specref ref="soap12-defaults"/>), there may be additional binding 
          information to be specified. This binding extension specification allows the user 
          to indicate the SOAP Message Exchange Pattern (MEP) and a value for the SOAP
          Action Feature on a per-operation basis.</p>
        </div3>

        <div3 id="soap-operation-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The SOAP Operation binding extension specification adds the
          following property to the WSDL component model (as defined
          in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>

            <item><p><propdef comp="Binding">soap mep
            default</propdef> OPTIONAL.  <assert class="component" id="SOAPMEPDefault-5046" required="true">A <emph>xs:anyURI</emph>,
            which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding</comp>
            component.</assert> The value of this property identifies the
            default SOAP Message Exchange Pattern (MEP) for all the
	    <comp>Interface Operation</comp> components of any <comp>Interface</comp> component
            that uses this <comp>Binding</comp> component.</p></item>

            <item><p><propdef comp="Binding Operation">soap mep</propdef> OPTIONAL.
            <assert class="component" id="SOAPMEP-5047" required="true">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding Operation</comp> component.</assert> The
            value of this property identifies the SOAP Message
            Exchange Pattern (MEP) for this specific operation.</p></item>

            <item><p><propdef comp="Binding Operation">soap action</propdef> OPTIONAL.
            <assert class="component" id="SOAPAction-5048" required="true">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding Operation</comp> component.</assert> The
            value of this property identifies the value of the SOAP
            Action Feature for the initial message of the message exchange pattern of the <comp>Interface Operation</comp> bound,
	    as specified in the binding rules of bindings to specific
	    versions of SOAP (see <specref ref="soap12-defaults"/> for
	    the SOAP 1.2 binding when the value
	    of the <prop comp="Binding">soap version</prop> property
	    of the <comp>Binding</comp> component is <attval>1.2</attval>).</p>
            </item>
          </ulist>
        </div3>

        <div3 id="soap-operation-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding <b>wsoap:mepDefault</b>="<emph>xs:anyURI</emph>"? &gt;
    &lt;operation ref="<emph>xs:QName</emph>" 
               <b>wsoap:mep</b>="<emph>xs:anyURI</emph>"?
               <b>wsoap:action</b>="<emph>xs:anyURI</emph>"? &gt;
    &lt;/operation&gt;
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for binding an Operation are two
          <emph>attribute information item</emph>s with the following Infoset properties: </p>

          <ulist>
            <item><p>wsoap:mep OPTIONAL <emph>attribute information item</emph></p>
              <ulist>
                <item><p>A [local name] of <att>mep</att></p></item>

                <item> <p>A [namespace name] of
                <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
                </p></item>
		<item>
		  <p>A type of <emph>xs:anyURI</emph></p>
		</item>
              </ulist>
            </item>
            <item><p>wsoap:action OPTIONAL <emph>attribute information item</emph></p>
              <ulist>
                <item><p>A [local name] of <att>action</att></p></item>

                <item> <p>A [namespace name] of
                <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
                </p></item>
		<item>
		  <p>A type of <emph>xs:anyURI</emph></p>
		</item>
              </ulist>
            </item>
          </ulist>

	  <p>The following <emph>attribute information item</emph> for the <el>binding</el> <emph>element information item</emph> is
	  defined:</p>

          <ulist>
            <item>
              <p>A [local name] of <el>mepDefault</el>
              </p>
            </item>
            <item>
			  <p>A [namespace name] of
				<attval>http://www.w3.org/2006/01/wsdl/soap</attval>
			  </p>
            </item>
	    <item>
	      <p>A type of <emph>xs:anyURI</emph></p>
	    </item>
          </ulist>

        </div3>

        <div3 id="soap-operation-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_SOAP_Operation_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_Operation_Mapping">
            <caption>Mapping from XML Representation to SOAP Operation Component
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">soap
		mep default</prop></td> <td rowspan="1" colspan="1">The actual value of the
                <att>wsoap:mepDefault</att> <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">soap mep</prop></td> <td rowspan="1" colspan="1">The actual value of the
                <att>wsoap:mep</att> <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">soap action</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>action</att> <emph>attribute information item</emph>, if any.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>
      <!-- +++++++++ -->

      <div2 id="soap-module-decl">
        <head>Declaring SOAP Modules</head>

        <div3 id="soap-module-decl-description">
          <head>Description</head>

          <p>The SOAP messaging framework allows
          to engage one or more additional features (typically
          implemented as one or more SOAP header blocks), as defined
          by SOAP Modules (see <bibref ref="SOAP12-PART1"/>). This
          binding extension specification allows users to indicate which SOAP
          Modules are in use across an entire binding, on a per
          operation basis or on a per message basis.</p>
        </div3>

        <div3 id="soap-module-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The <comp>SOAP Module</comp> component adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding">soap modules</propdef> OPTIONAL. A set of <comp>SOAP Module</comp> components
            as defined in <specref ref="soap-module-decl-property"/>
            to the <comp>Binding</comp> component</p></item>
	    <item><p>Similarly, <propdef comp="Binding Operation">soap modules</propdef> OPTIONAL, to the <comp>Binding Operation</comp> component</p></item>
	    <item><p>Similarly, <propdef comp="Binding Message Reference">soap modules</propdef> OPTIONAL, to the <comp>Binding Message Reference</comp> component</p></item>
	    <item><p>Similarly, <propdef comp="Binding Fault">soap modules</propdef> OPTIONAL, to the <comp>Binding Fault</comp> component</p></item>
	    <item><p>Similarly, <propdef comp="Binding Fault Reference">soap modules</propdef> OPTIONAL, to the <comp>Binding Fault Reference</comp> component</p></item>
          </ulist>

          <p>The SOAP modules applicable for a particular operation of
          any service consists of all modules specified in the input
          or output <comp>Binding Message Reference</comp> components, the infault
          or outfault <comp>Binding Fault Reference</comp> components, those
          specified within the <comp>Binding Fault</comp> components, those
          specified within the <comp>Binding Operation</comp> components and those
          specified within the <comp>Binding</comp> component. If any module is
          declared in multiple components, then the requiredness of
          that module is defined by the closest declaration, where
          closeness is defined by whether it is specified directly at
          the <comp>Binding Message Reference</comp> component or
          <comp>Binding Fault Reference</comp> component level, the <comp>Binding Fault</comp> level or the
          <comp>Binding Operation</comp> component level or the <comp>Binding</comp> component
          level, respectively.</p>
        </div3>

        <div3 id="soap-module-decl-property">
          <head>SOAP Module component</head>

          <p>The <comp>SOAP Module</comp> component identifies a SOAP module that
          is in use.</p>

          <p>The properties of the <compdef>SOAP Module</compdef> component are
          as follows:</p>

          <ulist>
            <item> <p><propdef comp="SOAP Module">ref</propdef> REQUIRED.
            <assert class="component" id="SOAPModule-5049" required="true">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>.</assert> The value of this property identifies the
            specific SOAP module that is in use.</p> </item>

            <item> <p><propdef comp="SOAP Module">required</propdef> REQUIRED.
            A <emph>xs:boolean</emph> indicating if the SOAP
            module is required.</p> </item>
            <item> <p><propdef comp="SOAP Module">parent</propdef> REQUIRED.
            The <comp>Binding</comp>, <comp>Binding Operation</comp>,
            <comp>Binding Message Reference</comp>, <comp>Binding
	    Fault</comp> or <comp>Binding Fault Reference</comp>
	    component component that contains this component in its
	    <prop comp="Binding">soap modules</prop> property.</p></item>
          </ulist>
        </div3>

        <div3 id="soap-module-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding &gt;
    &lt;<b>wsoap:module</b> ref="<emph>xs:anyURI</emph>"
                  required="<emph>xs:boolean</emph>"? &gt;
      &lt;documentation ... /&gt;*
    &lt;/<b>wsoap:module</b>&gt;
    &lt;fault&gt;
      &lt;<b>wsoap:module</b> ... /&gt;*
    &lt;/fault&gt;
    &lt;operation&gt;
      &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;input&gt;
        &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;/input&gt;
      &lt;output&gt;
        &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;/output&gt;
      &lt;infault&gt;
        &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;/infault&gt;
      &lt;outfault&gt;
        &lt;<b>wsoap:module</b> ... /&gt;*
      &lt;/outfault&gt;
    &lt;/operation&gt;
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for a <comp>SOAP Module</comp> component is an <emph>element information item</emph>
with the following Infoset properties: </p>
          <ulist>
            <item>
              <p>A [local name] of <el>module</el>
              </p>
            </item>
            <item>
              <p>A [namespace name] of
  <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
              </p>
            </item>
            <item>
              <p>One or more <emph>attribute information item</emph>s amongst its [attributes] as follows:</p>
              <ulist>
                <item>
                  <p>A REQUIRED <att>ref</att>
                    <emph>attribute information item</emph> with the following
      Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>ref</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:anyURI</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>required</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>required</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>Zero or more namespace qualified <emph>attribute information item</emph>s. The [namespace
      name] of such <emph>attribute information item</emph>s MUST NOT be <attval>http://www.w3.org/2006/01/wsdl</attval> and
      MUST NOT be <attval>http://www.w3.org/2006/01/wsdl/soap</attval>.  </p>
                </item>
              </ulist>
            </item>
            <item>
              <p>Zero or more <emph>element information item</emph> amongst its [children], in order, as
  follows:</p>
              <olist>
                <item>
                  <p>Zero or more <el>documentation</el>
                    <emph>element information item</emph>s as defined in <bibref ref="WSDL-PART1"/>.</p>
                </item>
                <item>
                  <p>Zero or more namespace-qualified <emph>element information item</emph>s amongst its
      [children]. The [namespace name] of such <emph>element information item</emph>s MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl</attval> and MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl/soap</attval>.</p>
                </item>
              </olist>
            </item>
          </ulist>
        </div3>
        <div3 id="soap-module-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_SOAP_Module_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_Module_Mapping">
            <caption>Mapping from XML Representation to SOAP Module component-related Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">soap modules</prop></td>
                <td rowspan="1" colspan="1"> The set of <comp>SOAP Module</comp>
                components corresponding to all the <el>module</el>
                <emph>element information item</emph> in the [children] of the <el>binding</el>,
                <el>operation</el>, <el>fault</el>, <el>input</el>,
                <el>output</el>, <el>infault</el>, <el>outfault</el>
                <emph>element information item</emph>s, if any.
		</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Module">ref</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>ref</att>
                  <emph>attribute information item</emph>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Module">required</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>required</att>
                  <emph>attribute information item</emph> if present, otherwise <attval>false</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Module">parent</prop></td>
		<td rowspan="1" colspan="1">
		  The <comp>Binding</comp>, <comp>Binding
		  Operation</comp>, <comp>Binding Message
		  Reference</comp>, <comp>Binding Fault</comp> or
		  <comp>Binding Fault Reference</comp> component
		  corresponding to the <el>binding</el>,
		  <el>operation</el>, <el>fault</el>, <el>input</el>,
		  <el>output</el>, <el>infault</el> or
		  <el>outfault</el> <emph>element information item</emph> in [parent].
		</td>
	      </tr>
            </tbody>
          </table>
        </div3>

        <div3 id="soap-module-decl-fragid">
          <head>IRI Identification Of A SOAP Module component</head>

	  <p>WSDL Version 2.0 Part 1: Core Language <bibref ref="WSDL-PART1"/> defines a <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">fragment identifier
	  syntax</xspecref> for identifying components of a WSDL 2.0
	  document.</p>

	  <p>A <comp>SOAP Module</comp> component can be identified using the
	  <emph><xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#wsdl.extension" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">wsdl.extension</xspecref></emph>
	  XPointer Framework scheme:</p>

	  <p><code>wsdl.extension(http://www.w3.org/2006/01/wsdl/soap,
	  wsoap.module(<emph>parent</emph>/<emph>ref</emph>))</code></p>
	  <olist>
	    <item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <prop comp="SOAP Module">parent</prop> component, as <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">specified in WSDL
	      Version 2.0 Part 1: Core Language</xspecref>.
	    </p>
	    </item>
	    <item>
	      <p>
		<emph>
		  <code>ref</code>
		</emph>
		is the value of the <prop comp="SOAP Module">ref</prop> property of the component.
	      </p>
	    </item>
	  </olist>	  

	</div3>
      </div2>

      <!-- +++++++++ -->
      
      <div2 id="soap-headers-decl">
        <head>Declaring SOAP Header Blocks</head>
        
        <div3 id="soap-headers-decl-description">
          <head>Description</head>

	  <p>SOAP allows the use of header blocks in the header part
	  of the message. This binding extension allows users to declare the
	  SOAP header blocks in use on a per message and on a per
	  fault basis.</p>

        </div3>

        <div3 id="soap-headers-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The SOAP Header Blocks binding extension specification adds the
          following property to the WSDL component model (as defined
          in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding Message Reference">soap headers</propdef> OPTIONAL.
            A set of <comp>SOAP Header Block</comp> components as defined in <specref ref="soap-header-decl-property"/>, to the <comp>Binding Message Reference</comp> component.</p></item>
            <item><p>Similarly, <propdef comp="Binding Fault">soap headers</propdef> OPTIONAL, to the <comp>Binding Fault</comp> component.</p></item>
          </ulist>
        </div3>

	<div3 id="soap-header-decl-property">
	  <head>SOAP Header Block component</head>
	  
	  <p>A <comp>SOAP Header Block</comp> component describes an abstract piece
	  of header data (SOAP header block) that is associated with the
	  exchange of messages between the communicating parties. The
	  presence of a <comp>SOAP Header Block</comp> component in a WSDL
	  description indicates that the service supports headers and
	  MAY require a Web service consumer/client that interacts
	  with the service to use the described header block. Zero or one
	  such header block may be used.</p>

          <p>The properties of the <compdef>SOAP Header Block</compdef> component are as
          follows:</p>

          <ulist>
            <item> <p><propdef comp="SOAP Header Block">element declaration</propdef> REQUIRED.
            A <emph>xs:QName</emph>, a
            reference to an XML element declaration in the
            <prop comp="Description">element declarations</prop> property of the
            <comp>Description</comp> component. This XML element
	    declaration represents a SOAP
            header block.</p>
	    </item>
            
            <item> <p><propdef comp="SOAP Header Block">mustUnderstand</propdef> REQUIRED.  A
            <emph>xs:boolean</emph>. <assert class="component" id="SOAPHeaderBlock-5050" required="true">When its value is
            <attval>true</attval>, the SOAP header block MUST be
            decorated with a SOAP <att>mustUnderstand</att> <emph>attribute information item</emph> with
            a value of <attval>true</attval>; if so, it is an error
            for the XML element declaration referenced by the <prop comp="SOAP Header Block">element declaration</prop> property not to
            allow this SOAP <att>mustUnderstand</att>
            <emph>attribute information item</emph>.</assert> Otherwise, no additional constraint is placed on
            the presence and value of a SOAP <att>mustUnderstand</att>
            <emph>attribute information item</emph>.</p></item>

            <item> <p><propdef comp="SOAP Header Block">required</propdef> REQUIRED.
            A <emph>xs:boolean</emph> indicating if the SOAP
            header block is required. <assert class="component" id="SOAPHeaderBlock-5051" required="true">If the value is <attval>true</attval>, then the SOAP header block MUST be included in the message.</assert> If it is <attval>false</attval>, then the SOAP header block MAY be included.</p> </item>

            <item> <p><propdef comp="SOAP Header Block">parent</propdef> REQUIRED.
            The <comp>Binding Fault</comp>
            or <comp>Binding Message Reference</comp>
	    component component that contains this component in its
	    <prop comp="Binding Message Reference">soap headers</prop> property.</p></item>
          </ulist>
	</div3>

        <div3 id="soap-headers-decl-xml">
          <head>XML Representation</head>

        <eg xml:space="preserve">
&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" type="<emph>http://www.w3.org/2006/01/wsdl/soap</emph>" &gt;
    &lt;fault ref="<emph>xs:QName</emph>" &gt;
      &lt;<b>wsoap:header</b> element="<emph>xs:QName</emph>" mustUnderstand="<emph>xs:boolean</emph>"?
                 required="<emph>xs:boolean</emph>"? &gt;
        &lt;documentation /&gt;*
      &lt;/<b>wsoap:header</b>&gt;*
      ...
    &lt;/fault&gt;*
    &lt;operation ref="<emph>xs:QName</emph>" &gt;
      &lt;input messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;<b>wsoap:header</b> ... /&gt;*
	...
      &lt;/input&gt;*
      &lt;output messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;<b>wsoap:header</b> ... /&gt;*
	...
      &lt;/output&gt;*
    &lt;/operation&gt;*
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for a <comp>SOAP Header Block</comp> component is an <emph>element information item</emph>
with the following Infoset properties: </p>
          <ulist>
            <item>
              <p>A [local name] of <el>header</el>
              </p>
            </item>
            <item>
              <p>A [namespace name] of
  <attval>http://www.w3.org/2006/01/wsdl/soap</attval>
              </p>
            </item>
            <item>
              <p>One or more <emph>attribute information item</emph>s amongst its [attributes] as follows:</p>
              <ulist>
                <item>
                  <p>A REQUIRED <att>element</att>
                    <emph>attribute information item</emph> with the following
      Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>element</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:QName</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>mustUnderstand</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>mustUnderstand</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>required</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>required</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>Zero or more namespace qualified <emph>attribute information item</emph>s. The [namespace
      name] of such <emph>attribute information item</emph>s MUST NOT be <attval>http://www.w3.org/2006/01/wsdl</attval> and
      MUST NOT be <attval>http://www.w3.org/2006/01/wsdl/soap</attval>.  </p>
                </item>
              </ulist>
            </item>
            <item>
              <p>Zero or more <emph>element information item</emph> amongst its [children], in order, as
  follows:</p>
              <olist>
                <item>
                  <p>Zero or more <el>documentation</el>
                    <emph>element information item</emph>s as defined in <bibref ref="WSDL-PART1"/>.</p>
                </item>
                <item>
                  <p>Zero or more namespace-qualified <emph>element information item</emph>s amongst its
      [children]. The [namespace name] of such <emph>element information item</emph>s MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl</attval> and MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl/soap</attval>.</p>
                </item>
              </olist>
            </item>
          </ulist>
        </div3>

        <div3 id="soap-headers-decl-mapping">
          <head>Mapping XML Representation to Component Properties</head>

          <p>See <specref ref="tab_SOAP_Header_Mapping"/>.</p>

          <table border="1" id="tab_SOAP_Header_Mapping">
            <caption>Mapping from XML Representation to SOAP Header Block component-related
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Message Reference">soap headers</prop></td>
                <td rowspan="1" colspan="1"> The set of <comp>SOAP Header Block</comp> components
                corresponding to all the <el>header</el> <emph>element information item</emph> in the [children] of the
                <el>fault</el>, <el>input</el> or <el>output</el>
                <emph>element information item</emph>, if any.
		</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Header Block">element declaration</prop></td>
                <td rowspan="1" colspan="1">The element declaration
                from the <prop comp="Description">element declarations</prop> resolved
                to by the value of the <att>element</att> <emph>attribute information item</emph>. <assert class="component" id="SOAPHeaderBlock-5052" required="true">It is
                an error for the <att>element</att> <emph>attribute information item</emph> to have a
                value and that value does not resolve to a global
                element declaration from the
                <prop comp="Description">element declarations</prop> property of the
                <comp>Description</comp> component.</assert></td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Header Block">mustUnderstand</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>mustUnderstand</att>
                  <emph>attribute information item</emph> if present, otherwise <attval>false</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Header Block">required</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>required</att>
                  <emph>attribute information item</emph> if present, otherwise <attval>false</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="SOAP Header Block">parent</prop></td>
		<td rowspan="1" colspan="1">
		  The <comp>Binding Fault</comp> or <comp>Binding
		  Message Reference</comp> component corresponding to
		  the <el>fault</el>, <el>input</el> or
		  <el>output</el> <emph>element information item</emph> in [parent].
		</td>
	      </tr>
            </tbody>
          </table>
        </div3>

        <div3 id="soap-headers-decl-fragid">
          <head>IRI Identification Of A SOAP Header Block component</head>

	  <p>WSDL Version 2.0 Part 1: Core Language <bibref ref="WSDL-PART1"/> defines a <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">fragment identifier
	  syntax</xspecref> for identifying components of a WSDL 2.0
	  document.</p>

	  <p>A <comp>SOAP Header Block</comp> component can be identified using the
	  <emph><xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#wsdl.extension" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">wsdl.extension</xspecref></emph>
	  XPointer Framework scheme:</p>

	  <p><code>wsdl.extension(http://www.w3.org/2006/01/wsdl/soap,
	  wsoap.header(<emph>parent</emph>/<emph>namespace</emph>#<emph>name</emph>))</code></p>
	  <olist>
	    <item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <prop comp="SOAP Header Block">parent</prop> component, as <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">specified in WSDL
	      Version 2.0 Part 1: Core Language</xspecref>.
	    </p>
	    </item>
	    <item>
	      <p>
		<emph>
		  <code>namespace</code>
		</emph>
		is the <prop comp="SOAP Header Block">element declaration</prop> property value's namespace URI.
	      </p>
	    </item>
	    <item>
	      <p>
		<emph>
		  <code>name</code>
		</emph>
		is the <prop comp="SOAP Header Block">element declaration</prop> property value's local name.
	      </p>
	    </item>
	  </olist>	  

	</div3>
      </div2>

      <!-- +++++++++ -->
      
      <div2 id="soap12-binding">
        <head>WSDL SOAP 1.2 Binding</head>
        
        <div3 id="soap12-binding-decl">
          <head>Identifying a WSDL SOAP 1.2 Binding</head>
          <p>A WSDL SOAP Binding is identified as a SOAP 1.2 binding by assigning the value
          <attval>1.2</attval> to the <prop comp="Binding">soap version</prop> property of the <comp>Binding</comp> component.</p>
        </div3>
        
        <div3 id="soap12-binding-description">
          <head>Description</head>
          
          <p>The WSDL SOAP 1.2 binding extension defined in this section is an extension of the SOAP binding defined in section <specref ref="soap-binding"/>
          to enable Web Service applications to use SOAP 1.2 <bibref ref="SOAP12-PART1"/>.</p>
          
          <p>The WSDL SOAP 1.2 binding extension supports
          the SOAP 1.2 HTTP binding defined by the <bibref ref="SOAP12-PART2"/> specification. This is indicated by
          assigning the URI <attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>
          (as defined by <bibref ref="SOAP12-PART2"/>) to the
	      <prop comp="Binding">soap underlying protocol</prop> property. Other values MAY be used
          for this property in conjunction with the SOAP 1.2 binding extension
          defined by this specification provided that the semantics of
          such protocols are consistent with this binding extension.</p>
          
	  <p>Default rules in section <specref ref="soap12-defaults"/>
	  define the relationship between SOAP message exchange patterns
	  defined in <bibref ref="SOAP12-PART2"/> and WSDL message
	  exchange patterns defined in section <specref ref="meps"/>.</p>

          <p>When the SOAP Message Exchange Pattern is the SOAP 1.2 Response
          MEP and the underlying protocol is HTTP, the <comp>Binding Operation</comp> may use the
          <prop comp="Binding Operation">http location</prop> property
          defined in section <specref ref="http-operation-decl"/>.  When this
	  property is present on the <comp>Binding Operation</comp> component, the <comp>Endpoint</comp> component also follows the
          rules for constructing the address from the <prop comp="Endpoint">address</prop>
          property and the <prop comp="Binding Operation">http location</prop> property values.</p>
          <p/>  
        </div3>
        
        <div3 id="soap12-defaults">
        <head>SOAP 1.2 Binding Rules</head>
        
        <p>These binding rules 
          are applicable to SOAP 1.2 bindings. 
        </p>

        <ulist>
          <item><p><emph>SOAP Action Feature.</emph> The value of the
          SOAP Action Feature for the initial message of the message exchange pattern
	  of the <comp>Interface Operation</comp> bound is specified by the <prop comp="Binding Operation">soap action</prop> property of this
          <comp>Binding Operation</comp> component. If the
          <comp>Binding Operation</comp> component does NOT have a
          <prop comp="Binding Operation">soap action</prop> property
          defined, then the SOAP Action Feature (see <bibref ref="SOAP12-PART2"/>) has NO value. Otherwise, its value is
          the value of the SOAP Action Feature for the initial message
          of the message exchange pattern.</p></item>

          <item><p><emph>SOAP MEP Selection.</emph>
<assert class="component" id="SOAPMEPSelection-5053" required="true">
	  For a given <comp>Interface Operation</comp> component, if
	  there is a <comp>Binding Operation</comp> component whose
	  <prop comp="Binding Operation">interface operation</prop>
	  property matches the component in question and its <prop comp="Binding Operation">soap mep</prop> property has a
	  value, then SOAP MEP is the value of the <prop comp="Binding    Operation">soap mep</prop> property. Otherwise, the SOAP MEP
	  is the value of the <comp>Binding </comp> component's <prop comp="Binding">soap mep default</prop>, if
	  any. Otherwise, if the <comp>Interface Operation</comp>
	  component's <prop comp="Interface Operation">message
	  exchange pattern</prop> property has the value
	  <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>, then the SOAP MEP is the URI
	  <attval>http://www.w3.org/2003/05/soap/mep/request-response/</attval>
	  identifying the SOAP Request-Response Message Exchange
	  Pattern as defined in <bibref ref="SOAP12-PART2"/>.
	  Otherwise (i.e. if the <comp>Interface Operation</comp>
	  component has any other value for the <prop comp="Interface    Operation">message exchange pattern</prop> property), it is
	  an ERROR.</assert></p>

	  <ednote id="one-way-mep-default">
	    <name>One-way MEP defaulting</name>
	    <edtext>
	      The Web Services Description Working Group would like to
	      add a rule here defaulting to a standardized SOAP 1.2
	      one-way MEP for one-way operations if one becomes
	      available. Feedback is sought on this topic.
	    </edtext>
	  </ednote>

	  </item>

          <item><p><emph>HTTP Method Selection.</emph> <assert class="component" id="SOAPHTTPSelection-5054" required="true">This default
          binding rule is applicable when the value of the
          <prop comp="Binding">soap underlying protocol</prop> property of the <comp>Binding</comp> component is
          <attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>. If
          the SOAP MEP selected as specified above has the value
          <attval>http://www.w3.org/2003/05/soap/mep/request-response/</attval>
          then the HTTP method used is
          <attval>POST</attval>. If the SOAP MEP selected has the value
          <attval>http://www.w3.org/2003/05/soap/mep/soap-response/</attval>
          then the HTTP method used is
          <attval>GET</attval>.</assert></p></item>

          <item><p><emph>HTTP IRI Generation.</emph> This default
          binding rule is applicable when the value of the
          <prop comp="Binding">soap underlying protocol</prop>
          property of the <comp>Binding</comp> component is
          <attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>. <assert class="component" id="SOAPHTTPGeneration-5055" required="true">If
          the SOAP MEP selected is
          <attval>http://www.w3.org/2003/05/soap/mep/soap-response/</attval>
          then the value of the SOAP
	  <attval>http://www.w3.org/2003/05/soap/mep/ImmediateDestination</attval> property MUST be
          generated using the HTTP binding extension's rules for generating a
          IRI for HTTP GET (see <specref ref="_http_x-www-form-urlencoded"/>).</assert> The
          input serialization format of
          <code>application/x-www-form-urlencoded</code> is the only supported
          serialization format for HTTP GET in the SOAP Response
          Message Exchange Pattern.</p>
	  </item>
        </ulist>

      </div3>
      
      <div3 id="wsdl-mep-soap-mep">
	<head>Binding WSDL 2.0 MEPs to SOAP 1.2 MEPs</head>

	<p>This section describes the relationship between WSDL components and SOAP
	1.2 MEP properties as described in <bibref ref="SOAP12-PART2"/>.</p>

	<div4 id="soap-mep-r-r">
	  <head>Using SOAP Request-Response</head>

	  <p>When using the WSDL <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>
	  message exchange pattern bound to a SOAP
	  <attval>http://www.w3.org/2003/05/soap/mep/request-response/</attval>
	  MEP
	  (as would be the case for a usual SOAP-over-HTTP In-Out operation),
	  this section describes the relationships. Extensions (such as <bibref ref="WSA-Core"/>) MAY alter these
mappings.</p>

	  <div5>
	    <head>The Client</head>

	    <p>As the client, the property
	    <attval>http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role</attval>
	    takes the value <attval>RequestingSOAPNode</attval>.</p>

	    <p>The SOAP <attval>http://www.w3.org/2003/05/soap/mep/ImmediateDestination</attval>
	    property takes the value of the WSDL <prop comp="Endpoint">address</prop> property of the
	    <comp>Endpoint</comp> component.</p>

	    <p>The WSDL <attval>In</attval> message is mapped to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/OutboundMessage</attval> property.</p>

	    <p>The WSDL <attval>Out</attval> message maps to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/InboundMessage</attval> property.</p>

	  </div5>

	  <div5>
	    <head>The Service</head>

	    <p>As the service, the property
	    <attval>http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role</attval>
	    takes the value <attval>RespondingSOAPNode</attval>.</p>

	    <p>The WSDL <attval>In</attval> message is mapped to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/InboundMessage</attval> property.</p>
	    
	    <p>The WSDL <attval>Out</attval> message maps to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/OutboundMessage</attval> property.</p>

	  </div5>

	</div4>
	<div4>
	  <head>Using SOAP-Response</head>

	  <p>When using the WSDL <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>
	  message exchange pattern bound to a
	  <attval>http://www.w3.org/2003/05/soap/mep/soap-response/</attval> SOAP MEP,
	  this section describes the relationships.</p>

	  <div5>
	    <head>The Client</head>

	    <p>As the client, the property
	    <attval>http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role</attval>
	    takes the value <attval>RequestingSOAPNode</attval>.</p>

	    <p>The SOAP <attval>http://www.w3.org/2003/05/soap/mep/ImmediateDestination</attval>
	    property takes the value of the WSDL <prop comp="Endpoint">address</prop> property, modified
	    by the <prop comp="Binding Operation">http location</prop>
	    property following the rules described in section <specref ref="_http_x-www-form-urlencoded"/>.</p>

	    <p>The SOAP <attval>http://www.w3.org/2003/05/soap/mep/OutboundMessage</attval> property
	    has no value.</p>

	    <p>The WSDL <attval>Out</attval> message maps to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/InboundMessage</attval> property.</p>

	  </div5>

	  <div5>
	    <head>The Service</head>

	    <p>As the service, the property
	    <attval>http://www.w3.org/2003/05/soap/bindingFramework/ExchangeContext/Role</attval>
	    takes the value <attval>RespondingSOAPNode</attval>.</p>

	    <p>The WSDL <attval>In</attval> message is constructed from the destination URI as per the
	    rules in section <specref ref="_http_x-www-form-urlencoded"/>.</p>

	    <p>The WSDL <attval>Out</attval> message maps to the SOAP
	    <attval>http://www.w3.org/2003/05/soap/mep/OutboundMessage</attval> property.</p>

	  </div5>
	</div4>
      </div3>

      </div2>
      
      <!-- +++++++++ -->

      <div2 id="soap-conformance">
	<head>Conformance</head>

	<p>An <emph>element information item</emph> whose namespace name is <attval>http://www.w3.org/2006/01/wsdl</attval>
	and whose local part is <el>description</el> conforms to this
	binding extension specification if the <emph>element information item</emph>s and <emph>attribute information item</emph>s whose namespace
	is http://www.w3.org/2006/01/wsdl/soap conform to the XML Schema for that element
	or attribute as defined by this specification and additionally
	adheres to all the constraints contained in this
	specification.</p>

      </div2>

    </div1>

    <!-- *************************************************************** -->

    <div1 id="http-binding">
      <head>WSDL HTTP Binding Extension</head>

      <p>The HTTP binding extension described in this section is an extension for
<bibref ref="WSDL-PART1"/> to enable Web Services applications to use
HTTP 1.1 <bibref ref="RFC2616"/> (as well as other versions of HTTP) and HTTPS <bibref ref="RFC2818"/>.  This binding extension extends WSDL 2.0
by adding properties to the component model defined in <bibref ref="WSDL-PART1"/>. In addition an XML Infoset representation
for these additional properties is provided, along with a mapping from
that representation to the various component properties.</p>
      <p>As allowed in <bibref ref="WSDL-PART1"/>, <assert class="component" id="HTTPBinding-2600001" required="true">a <comp>Binding</comp> component MAY
exist without indicating a specific <comp>Interface</comp> component that it applies
to. In this case there MUST NOT be any <comp>Binding Operation</comp> or <comp>Binding
Fault</comp> components present in the <comp>Binding</comp> component.</assert></p>
      <p>The HTTP binding extension is designed with the objective of minimizing what
needs to be explicitly declared for common cases. This is achieved by
defining a set of default rules which apply for all <comp>Interface
Operation</comp> components of an <comp>Interface</comp> component, unless specifically
overridden on a per Interface Operation basis. Thus, if a given
<comp>Interface Operation</comp> component is not referred to specifically, then
all the default rules apply for that component. That is, per the
requirements of <bibref ref="WSDL-PART1"/> all operations of an
<comp>Interface</comp> component are bound by an HTTP binding.</p>

      <p>
        <termdef id="instance_data" term="instance data">The internal
        tree representation of an input, output or fault message is
        called an <term>instance data</term>, and is constrained by
        the schema definition associated the message: the XML element
        referenced in the
        <prop comp="Interface Message Reference">element declaration</prop>
        property of the
        <comp>Interface Message Reference</comp>
        component for input and output messages (unless the <prop comp="Interface Message Reference">message content model</prop> is <attval>#any</attval>), and in the
        <prop comp="Interface Fault">element declaration</prop>
        property of an
        <comp>Interface Fault</comp>
        component for faults.</termdef>
      </p>

      <div2 id="http-binding-id">
        <head>Identifying the use of the HTTP Binding</head>

        <p>A <comp>Binding</comp> component (defined in <bibref ref="WSDL-PART1"/>)
        is identified as an HTTP binding by assigning the value
        <attval>http://www.w3.org/2006/01/wsdl/http</attval> to the <prop comp="Binding">type</prop> property of
        the <comp>Binding</comp> component.</p>
      </div2>

      <div2 id="http-syntax">
        <head>HTTP Syntax Summary (Non-Normative)</head>

        <eg xml:space="preserve">
&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"?
           type="<emph>http://www.w3.org/2006/01/wsdl/http</emph>"
           <b>whttp:methodDefault</b>="<emph>xs:string</emph>"?
	   <b>whttp:queryParameterSeparatorDefault</b>="<emph>xs:string</emph>"?
           <b>whttp:cookies</b>="<emph>xs:boolean</emph>"?
           <b>whttp:transferCodingDefault</b>="<emph>xs:string</emph>"? &gt;
   &lt;documentation /&gt;?

    &lt;fault ref="<emph>xs:QName</emph>"
           <b>whttp:code</b>="<emph>union of xs:int, xs:token</emph>"?
           <b>whttp:transferCoding</b>="<emph>xs:string</emph>"? &gt;
      &lt;documentation /&gt;*
      &lt;<b>whttp:header</b> name="<emph>xs:string</emph>" type="<emph>xs:QName</emph>"
                    required="<emph>xs:boolean</emph>"? &gt;
        &lt;documentation /&gt;*
      &lt;/<b>whttp:header</b>&gt;*
      [ &lt;feature /&gt; | &lt;property /&gt; ]*
    &lt;/fault&gt;*

    &lt;operation ref="<emph>xs:QName</emph>" 
               <b>whttp:location</b>="<emph>xs:anyURI</emph>"?
               <b>whttp:method</b>="<emph>xs:string</emph>"? 
               <b>whttp:inputSerialization</b>="<emph>xs:string</emph>"? 
               <b>whttp:outputSerialization</b>="<emph>xs:string</emph>"? 
               <b>whttp:faultSerialization</b>="<emph>xs:string</emph>"? 
               <b>whttp:transferCodingDefault</b>="<emph>xs:string</emph>"? &gt;
          &lt;documentation /&gt;*

      &lt;input messageLabel="<emph>xs:NCName</emph>"? 
             <b>whttp:transferCoding</b>="<emph>xs:string</emph>? &gt;
        &lt;documentation /&gt;*
	&lt;<b>whttp:header</b> ... /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/input&gt;*

      &lt;output messageLabel="<emph>xs:NCName</emph>"?
              <b>whttp:transferCoding</b>="<emph>xs:string</emph>? &gt;
        &lt;documentation /&gt;*
	&lt;<b>whttp:header</b> ... /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/output&gt;*

      &lt;infault ref="<emph>xs:QName</emph>"
                  messageLabel="<emph>xs:NCName</emph>"? &gt;
        &lt;documentation /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/infault&gt;*

      &lt;outfault ref="<emph>xs:QName</emph>"
                 messageLabel="<emph>xs:NCName</emph>"? &gt;
        &lt;documentation /&gt;*
        [ &lt;feature /&gt; | &lt;property /&gt; ]*
      &lt;/outfault&gt;*

      [ &lt;feature /&gt; | &lt;property /&gt; ]*

    &lt;/operation&gt;*

    [ &lt;feature /&gt; | &lt;property /&gt; ]*

  &lt;/binding&gt;

  &lt;service&gt;
    &lt;endpoint name="<emph>xs:NCName</emph>" binding="<emph>xs:QName</emph>" address="<emph>xs:anyURI</emph>"?
              <b>whttp:authenticationType</b>="<emph>xs:token</emph>"? 
              <b>whttp:authenticationRealm</b>="<emph>xs:string</emph>"? &gt;
      &lt;documentation /&gt;*
      [ &lt;feature /&gt; | &lt;property /&gt; ]*
    &lt;/endpoint&gt;
    [ &lt;feature /&gt; | &lt;property /&gt; ]*
  &lt;/service&gt;
&lt;/description&gt;
</eg>
      </div2>

      <!-- +++++++++ -->

      <div2 id="_http_binding_default_rules">
        <head>HTTP Binding Rules</head>

	<div3 id="_http_binding_default_rule_method">
	  <head>HTTP Method Selection</head>

	  <p><assert class="component" id="HTTPBinding-5056" required="true">When formulating the HTTP message to be transmitted, the
        HTTP request method used MUST be the following:</assert></p>

	<ulist>
	  <item>
	    <p>For a given <comp>Interface Operation</comp> component, if
	    there is a <comp>Binding Operation</comp> component whose
	    <prop comp="Binding Operation">interface operation</prop>
	    property matches the component in question and its <prop comp="Binding Operation">http method</prop> property has a
	    value, then the value of the <prop comp="Binding    Operation">http method</prop> property.
	    </p>
	  </item>
	  <item>
	    <p>
	      Otherwise, the value of the <comp>Binding</comp> component's <prop comp="Binding">http method default</prop>, if
	  any. 
	    </p>
	  </item>
	  <item>
	    <p>
	      Otherwise, if a
		<prop comp="Interface Operation">safety</prop> property as defined in <specref ref="safety"/> is present on the bound <comp>Interface Operation</comp>
		component and has a value of <attval>true</attval>,
		the value <attval>GET</attval>.
	    </p>
	  </item>
	  <item>
	    <p>
	      Otherwise, it is
	    an ERROR.</p>
	  </item>
	</ulist>
	</div3>

	<div3 id="_http_binding_default_rule_psf">
	  <head>Payload Construction And Serialization Format</head>

	  <p><assert class="component" id="HTTPBinding-5057" required="true">When formulating the HTTP message to be transmitted, the
        contents of the payload (i.e. the contents of the HTTP message
        body) MUST be what is defined by the corresponding <comp>Interface Message
	Reference</comp> or <comp>Interface Fault</comp> components,
	  serialized as specified by the <termref def="serialization_format">serialization format</termref> used.</assert></p>

	  <p><termdef id="serialization_format" term="serialization format">The <term>serialization format</term> is a media type token
	(<attval>type/subtype</attval>). It identifies rules to
	serialize a message in an HTTP message. Its value follows the following rules. The HTTP
	request serialization format MUST be in the media type range
	specified by the <prop comp="Binding Operation">http input
	serialization</prop> property. The HTTP response serialization
	format MUST be in the media type range specified by the <prop comp="Binding Operation">http output serialization</prop> property. The HTTP
	serialization format of a fault MUST be in the media type
	range specified by the
	<prop comp="Binding Operation">http fault serialization</prop>
	property. The concept of media type range is defined in Section 14.1 of <bibref ref="RFC2616"/>.
	The serialization format MAY have <term>associated media type parameters</term> (specified with the <code>parameter</code> production of <code>media-range</code> in Section 14.1 of <bibref ref="RFC2616"/>.
	  </termdef></p>

	<p>Section <specref ref="_http_serialization"/> defines
	serialization formats supported by this binding extension along with
	their constraints.</p>

	<ulist>
	  <item><p><comp>Interface Message Reference</comp> component:</p>
	  <ulist>
	    <item><p>If the value of the
	  <prop comp="Interface Message Reference">message content model</prop> property of the <comp>Interface Message Reference</comp> bound is
	  <attval>#any</attval> or <attval>#element</attval>, the serialization of the instance data is specified as defined in section <specref ref="_http_ser_xml"/>.</p>
	    </item>
	    <item>
	      <p><assert class="component" id="HTTPBinding-5061" required="true">If the value is <attval>#none</attval> then the
	      payload MUST be empty and the value of the corresponding serialization property (<prop comp="Binding Operation">http input serialization</prop> or <prop comp="Binding Operation">http output serialization</prop>) is ignored.</assert></p>
	    </item>
	    <item>
	      <p>If the value is <attval>#other</attval> then the
	      <termref def="serialization_format">serialization format and its associated media type parameters, if any</termref> specifies the value of the HTTP <code>Content-Type</code> entity-header field as defined in section 14.17 of <bibref ref="RFC2616"/>. The serialization of the payload is undefined.</p>
	    </item>
	  </ulist>
	</item>
	  <item><p><comp>Interface Fault</comp> component: the serialization of the instance data is specified as defined in section <specref ref="_http_ser_xml"/>.</p>
	  </item>
	</ulist>

        <p><assert class="component" id="HTTPBinding-5062" required="true">If the <comp>Interface Message Reference</comp> component or the <comp>Interface Fault</comp>
        component is declared using a non-XML type system (as
        considered in the Types section of <bibref ref="WSDL-PART1"/>)
        then additional binding rules MUST be defined to indicate how
        to map those components into the HTTP envelope.</assert></p>

	<div4 id="_http_ser_xml">
	  <head>Serialization rules for XML messages</head>

	  <p><assert class="component" id="HTTPBinding-2603001" required="true">The serialization rules for messages whose <prop comp="Interface Message Reference">message content model</prop> is either <attval>#element</attval> or <attval>#any</attval> and for fault messages are as follows:</assert></p>

	  <ulist>
	    <item>
	      <p>
		If the <termref def="serialization_format">serialization format</termref> is <attval>application/x-www-form-urlencoded</attval>, then the serialization of the <termref def="instance_data">instance data</termref> is defined by section <specref ref="_http_x-www-form-urlencoded"/>.
	      </p>
	    </item>
	    <item>
	      <p>
		If the <termref def="serialization_format">serialization format</termref> is <attval>multipart/form-data</attval>, then the serialization of the <termref def="instance_data">instance data</termref> is defined by section <specref ref="_http_operation_multipart_encoding"/>.		
	      </p>
	    </item>
	    <item>
	      <p>
		If the <termref def="serialization_format">serialization format</termref> is <attval>application/xml</attval>, then the serialization of the <termref def="instance_data">instance data</termref> is defined by section <specref ref="_http_operation_xml_encoding"/>.				
	      </p>
	    </item>
	    <item>
	      <p>
		Otherwise, then the serialization of the <termref def="instance_data">instance data</termref> is defined
		by section <specref ref="_http_operation_xml_encoding"/> with the
		following additional rule: the value of the HTTP
		<code>Content-Type</code> entity-header field is the
		value of the <termref def="serialization_format">serialization
		format and its associated media type parameters, if any</termref>.
	      </p>
	    </item>
	  </ulist>
	</div4>

	</div3>

	<div3 id="_http_binding_default_rule_dsf">
	  <head>Default input and output serialization format</head>

	  <p>Section <specref ref="method_value"/> defines the default values for
	  the GET, POST, PUT and DELETE values of the
	  HTTP method as selected in section <specref ref="_http_binding_default_rule_method"/>.
	</p>
					
        <table border="1" summary="The first column contains the value         of the {http method} property. The second column         contains the corresponding default {http input         serialization}, and the third column the corresponding         default {http output serialization}." id="method_value">
          <caption>Default values for GET, POST, PUT and DELETE</caption>
          <tbody>
            <tr>
              <th rowspan="1" colspan="1">HTTP Method</th>
              <th rowspan="1" colspan="1">Default Input Serialization</th>
              <th rowspan="1" colspan="1">Default Output Serialization</th>
            </tr>
            <tr>
              <th rowspan="1" colspan="1">Selected in <specref ref="_http_binding_default_rule_method"/></th>
              <th rowspan="1" colspan="1"><prop comp="Binding Operation">http input serialization</prop></th>
              <th rowspan="1" colspan="1"><prop comp="Binding Operation">http output serialization</prop></th>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">GET</td>
              <td rowspan="1" colspan="1">
                <code>application/x-www-form-urlencoded</code>
              </td>
              <td rowspan="1" colspan="1">
                <code>application/xml</code>
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">POST</td>
              <td rowspan="1" colspan="1">
                <code>application/xml</code>
              </td>
              <td rowspan="1" colspan="1">
                <code>application/xml</code>
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">PUT</td>
              <td rowspan="1" colspan="1">
                <code>application/xml</code>
              </td>
              <td rowspan="1" colspan="1"><code>application/xml</code></td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">DELETE</td>
              <td rowspan="1" colspan="1">
                <code>application/x-www-form-urlencoded</code>
              </td>
              <td rowspan="1" colspan="1"><code>application/xml</code></td>
            </tr>
          </tbody>
        </table>

	<note id="operation-style-default"><p>The
	<code>application/x-www-form-urlencoded</code> serialization
	format places constraints on the XML Schema definition of the
	<prop comp="Interface Message Reference">element
	declaration</prop> property of the <comp>Interface Message
	Reference</comp> components of the <comp>Interface
	Operation</comp> component bound (see <specref ref="_http_x-www-form-urlencoded"/>).</p></note>

	<p>The default value for the <prop comp="Binding Operation">http input serialization</prop> and
	<prop comp="Binding Operation">http output
	serialization</prop> properties for any other HTTP method selected is <code>application/xml</code>.</p>

        <p>
	  Mechanisms other than setting the serialization properties
	  MAY modify the serialization format of the <termref def="instance_data">instance data</termref> corresponding to
	  the message. An example of such modification is the WSDL
	  SOAP Binding HTTP IRI Serialization rules specified in
	  <specref ref="soap-defaults"/>. This binding extension specifies that
	  the <xspecref href="http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#soapresmep" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">SOAP-Response
	  Message Exchange Pattern</xspecref> (<bibref ref="SOAP12-PART2"/>, Section 6.3) only supports input
	  message serialization as
	  <code>application/x-www-form-urlencoded</code>.  Other
	  examples of such mechanisms are other message exchange
	  patterns or binding extensions.
	  </p>


	</div3>
	<div3 id="_http_default_rule_head">
	  <head>HTTP Header Construction</head>
	    <p><assert class="component" id="HTTPHeader-2606001" required="true">If the
	    <prop comp="Binding Message Reference">http headers</prop> property as defined in section <specref ref="http-headers-decl"/> exists and is not empty in a
	    <comp>Binding Message Reference</comp> or <comp>Binding Fault</comp> component, HTTP headers 
	    conforming to each <comp>HTTP Header</comp> component contained in this <prop comp="Binding Message Reference">http headers</prop> property
	    MAY be serialized as follows:</assert></p>

	    <ulist>
	      <item>
		<p>
		  The HTTP header field name used is the value of the
		  <prop comp="HTTP Header">name</prop> property of the
		  <comp>HTTP Header</comp> component. <assert class="component" id="HTTPHeader-5063" required="true">If an HTTP
		  header field corresponding to the value of the <prop comp="HTTP Header">name</prop> property is set by a
		  mechanism other than the HTTP binding, such as the
		  HTTP stack or another feature, then an error MUST be
		  raised.</assert>
		</p>
	      </item>
	      <item>
		<p>
		  The HTTP header field value, whose XML Schema type
		  is declared by the <prop comp="HTTP Header">type definition</prop> property of the <comp>HTTP
		  Header</comp> component, is serialized following the rules of the <code>field-value</code> production of section 4.2 of <bibref ref="RFC2616"/>.
		</p>
	      </item>
	    </ulist>

	    <p><assert class="component" id="HTTPHeader-2606002" required="true">If the value of an <comp>HTTP Header</comp>
	    component's <prop comp="HTTP Header">required</prop>
	    property is <attval>true</attval>, the inclusion of this
	    HTTP header field is REQUIRED</assert>, otherwise it is OPTIONAL.</p>

	</div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="http-operation-decl">
        <head>Binding Operations</head>
        <div3 id="http-operation-decl-dest">
          <head>Description</head>

	  <p>This binding extension specification provides a binding to HTTP of
	  <comp>Interface Operation</comp> components whose
	  <prop comp="Interface Operation">message exchange pattern</prop> property
	  has the value <attval>http://www.w3.org/2006/01/wsdl/in-only</attval>,
	  <attval>http://www.w3.org/2006/01/wsdl/robust-in-only</attval> or <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>. This
	  HTTP binding extension MAY be used with other message exchange
	  patterns such as outbound message exchange patterns,
	  provided that additional semantics are defined, such as with
	  an extension or with a Feature.</p>

	  <p>Each of the supported message exchange patterns involves
	  one to two messages or faults being exchanged. <assert class="component" id="HTTPBindingOperation-2605001" required="true">The first is
	  transmitted using an HTTP request, and the second is
	  transmitted using the corresponding HTTP response.</assert> <assert class="component" id="HTTPBindingOperation-5065" required="true">In cases
	  where only one message is being sent, the message body of
	  the HTTP response MUST be empty.</assert></p>

	  <p>For every <comp>Binding Operation</comp> component corresponding to
	  such <comp>Interface Operation</comp> components, this binding extension
	  specification allows the user to indicate the HTTP method to
	  use, the input, output and fault serialization, and the
	  location of the bound operation.</p>

        </div3>
        <div3 id="http-operation-decl-relate">
          <head>Relationship to WSDL Component Model</head>
          <p>The HTTP binding extension adds the following properties
	  to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>
          <ulist>
            <item>
              <p><propdef comp="Binding Operation">http
	      location</propdef> OPTIONAL. A <emph>xs:anyURI</emph>,
	      to the <comp>Binding Operation</comp> component.  <assert class="component" id="HTTPBindingOperation-2605002" required="true">This
              IRI is combined with the base IRI specified in the
              <prop comp="Endpoint">address</prop> property of the <comp>Endpoint</comp> component to
              form the full IRI for the HTTP request to invoke the
              operation.</assert> <assert class="component" id="HTTPBindingOperation-5066" required="true">It MUST contain an absolute or a relative
              IRI, i.e. it MUST NOT include a fragment identifier in
              the IRI.</assert> Input serializations may define additional
              processing rules to be applied to the value of
              <prop comp="Binding Operation">http location</prop> before combining it with the
              <prop comp="Endpoint">address</prop> property of the endpoint element to
              form the HTTP request IRI. For example, the three
              serialization formats defined
              in section <specref ref="_http_serialization"/>
              define a syntax to use the <prop comp="Binding Operation">http location</prop> as a
              template using elements of the instance data.
	      </p>
	      <p>If the resulting IRI uses the <code>https</code>
	      scheme, then HTTP over TLS <bibref ref="RFC2818"/> is
	      used to send the HTTP request.</p>
            </item>
            <item>
              <p><propdef comp="Binding">http method default</propdef> OPTIONAL. A <emph>xs:string</emph>,
	      to the <comp>Binding</comp> component, indicating the
	      default value
              for the HTTP Request Method for all the
              <comp>Interface Operation</comp> components of any
              <comp>Interface</comp> component that uses this Binding
              component.</p>
            </item>
            <item>
              <p><propdef comp="Binding Operation">http method</propdef> OPTIONAL. A <emph>xs:string</emph>,
	      to the <comp>Binding Operation</comp> component, indicating the value
              for the HTTP Request Method for this specific
	      <comp>Binding Operation</comp>.</p>
            </item>
            <item>
              <p><propdef comp="Binding Operation">http input
	      serialization</propdef> REQUIRED. A
	      <emph>xs:string</emph>,
	      to the <comp>Binding Operation</comp> component, indicating allowed serialization
	      rules of the HTTP Request message for this specific
	      operation, as described in section <specref ref="_http_ser_val"/>.</p>
            </item>
            <item>
              <p><propdef comp="Binding Operation">http output serialization</propdef> REQUIRED. A <emph>xs:string</emph>,
	      to the <comp>Binding Operation</comp> component, indicating
              allowed serialization rules of the HTTP Response message for this specific operation, as described in section <specref ref="_http_ser_val"/>.</p>
            </item>
            <item>
              <p><propdef comp="Binding Operation">http fault serialization</propdef> REQUIRED. A <emph>xs:string</emph>,
	      to the <comp>Binding Operation</comp> component, indicating
              allowed serialization rules of the HTTP Response
              message for this specific operation in case a fault is
              returned, as described in section <specref ref="_http_ser_val"/>.</p>
            </item>
            <item>
              <p><propdef comp="Binding">http query parameter
              separator default</propdef> REQUIRED. A
              <emph>xs:string</emph>,
	      to the <comp>Binding</comp> component, indicating the default query
              parameter separator character for all the
              <comp>Interface Operation</comp> components of any
              <comp>Interface</comp> component that uses this Binding
              component.</p>
            </item>
            <item>
              <p><propdef comp="Binding Operation">http query parameter separator</propdef> OPTIONAL. A
              <emph>xs:string</emph>,
	      to the <comp>Binding Operation</comp> component, indicating the query parameter
              separator character for this <comp>Binding
	      Operation</comp> component.</p>
            </item>
          </ulist>

        </div3>


        <div3 id="_http_ser_val">
	  <head>Specification of serialization rules allowed</head>

      <p><assert class="component" id="HTTPSerialization-5067" required="true">The value of the <prop comp="Binding Operation">http input
      serialization</prop>, <prop comp="Binding Operation">http output
      serialization</prop> and <prop comp="Binding Operation">http
      fault serialization</prop> properties is similar to the value
      allowed for the <code>Accept</code> HTTP header defined by the HTTP
      1.1 specification, Section 14.1 (see <bibref ref="RFC2616"/>)
      and MUST follow the production rules defined in that section
      except for the following:</assert>
      </p>
      <olist>
        <item>
          <p>The prefix <code>"Accept:"</code> MUST NOT be used.</p>
        </item>
        <item>
          <p>The rule <code>qdtext</code> is changed from:</p>
          <p><code>qdtext = &lt;any TEXT except&lt;"&gt;&gt;</code></p>
	  <p>to:</p>
	  <p><code>qdtext = &lt;any CHAR except&lt;"&gt;&gt;</code></p>
	  <p>This change is made to disallow non-US-ASCII OCTETs.</p>
        </item>
      </olist>
      <p>These properties allow to indicate the range of media types and/or
        associated parameters with which an instance MAY be
	serialized. <assert class="component" id="HTTPBindingOperation-2605003" required="true">The value of the <termref def="serialization_format">serialization format</termref> used for a
	message is a media type which MUST be covered by this range.</assert> 
	Users of this <emph>attribute information item</emph> are urged to
        avoid using wild cards (for example, <attval>application/*</attval>) as it may
        lead to interoperability problems.
      </p>

	  <p>The use of <prop comp="Binding Operation">http input serialization</prop>, <prop comp="Binding Operation">http output serialization</prop> and <prop comp="Binding Operation">http fault serialization</prop> is specified in section <specref ref="_http_binding_default_rule_psf"/>.</p>

	</div3>

        <div3 id="http-operation-decl-xml">
          <head>XML Representation</head>
          <eg xml:space="preserve">&lt;description&gt;
 &lt;binding <b>whttp:methodDefault</b>="<emph>xs:string</emph>"?
	  <b>whttp:queryParameterSeparatorDefault</b>="<emph>xs:string</emph>"? &gt;
   &lt;operation ref="<emph>xs:QName</emph>" 
              <b>whttp:location</b>="<emph>xs:anyURI</emph>"?
              <b>whttp:method</b>="<emph>xs:string</emph>"? 
              <b>whttp:inputSerialization</b>="<emph>xs:string</emph>"? 
              <b>whttp:outputSerialization</b>="<emph>xs:string</emph>"? 
              <b>whttp:faultSerialization</b>="<emph>xs:string</emph>"?
              <b>whttp:queryParameterSeparator</b>="<emph>xs:string</emph>"? &gt;
  &lt;/operation&gt;
 &lt;/binding&gt;
&lt;/description&gt;
	  </eg>
	  <p>The XML representation for binding an Operation are six
	  <emph>attribute information item</emph>s with the following Infoset properties: </p>
	  <ulist>
	    <item>
                  <p>An OPTIONAL <att>location</att>
                    <emph>attribute information item</emph> with the following
      Infoset properties:</p>
                  <ulist>
                    <item>
		      <p>A [local name] of <att>location</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:anyURI</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>method</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>method</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>inputSerialization</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>inputSerialization</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>outputSerialization</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>outputSerialization</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>faultSerialization</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>faultSerialization</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>queryParameterSeparator</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>queryParameterSeparator</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph> whose length facet value is <emph><attval>1</attval></emph></p>
		    </item>
                  </ulist>
                </item>
          </ulist>

	  <p>The following <emph>attribute information item</emph>s for the <el>binding</el> <emph>element information item</emph> are
	  defined:</p>

	  <ulist>
	    <item>
	      <p>An OPTIONAL <att>methodDefault</att>
	      <emph>attribute information item</emph> with the
	      following Infoset properties:</p>
	      <ulist>
		<item>
		  <p>A [local name] of <att>methodDefault</att>
		  </p>
		</item>
		<item>
		  <p>A [namespace name] of
		  <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		  </p>
		</item>
		<item>
		  <p>A type of <emph>xs:string</emph></p>
		</item>
	      </ulist>
	    </item>
	    <item>
	      <p>An OPTIONAL <att>queryParameterSeparatorDefault</att>
	      <emph>attribute information item</emph> with the
	      following Infoset properties:</p>
	      <ulist>
		<item>
		  <p>A [local name] of <att>queryParameterSeparatorDefault</att>
		  </p>
		</item>
		<item>
		  <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		  </p>
		</item>
		<item>
		  <p>A type of <emph>xs:string</emph> whose length
		  facet value is <emph><attval>1</attval></emph></p>
		</item>
	      </ulist>
	    </item>
	  </ulist>

        </div3>
        <div3 id="http-operation-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>
          <p>See <specref ref="tab_HTTP_Operation_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Operation_Mapping">
            <caption>Mapping from XML Representation to Binding Operation component Extension Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http location</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:location</att>
                  <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">http
		method default</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:methodDefault</att> <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http method</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:method</att> <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http input serialization</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:inputSerialization</att>
                  <emph>attribute information item</emph>, if present; otherwise, the default value as
		defined in <specref ref="_http_binding_default_rules"/>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http output serialization</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:outputSerialization</att>
                  <emph>attribute information item</emph>, if present; otherwise, the default value as
		defined in <specref ref="_http_binding_default_rules"/>.
		</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http fault serialization</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:faultSerialization</att>
                  <emph>attribute information item</emph>, if present; otherwise
		  <attval>application/xml</attval>.
		</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">http query parameter separator default</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:queryParameterSeparatorDefault</att> <emph>attribute information item</emph>, if present; otherwise, <attval>&amp;</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http query parameter separator</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:queryParameterSeparator</att> <emph>attribute information item</emph>, if present.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->
      
      <div2 id="http-headers-decl">
        <head>Declaring HTTP Headers</head>
        
        <div3 id="http-headers-decl-description">
          <head>Description</head>

	  <p>HTTP allows the use of headers in messages. This binding extension
	  allows users to declare the HTTP headers in use on a per
	  message and on a per fault basis.</p>

        </div3>

        <div3 id="http-headers-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The HTTP Header binding extension specification adds the
          following property to the WSDL component model (as defined
          in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding Message Reference">http headers</propdef> OPTIONAL.
            A set of <comp>HTTP Header</comp> components as defined in <specref ref="http-header-decl-property"/>, to the <comp>Binding Message Reference</comp> component.</p></item>
            <item><p>Similarly, <propdef comp="Binding Fault">http headers</propdef> OPTIONAL, to the <comp>Binding Fault</comp> component.</p></item>
          </ulist>

	  <p><assert class="component" id="HTTPHeader-5068" required="true">It is an ERROR for a <comp>Binding Message
	  Reference</comp> or a <comp>Binding Fault</comp> component's
	  <prop comp="Binding Message Reference">http headers</prop>
	  property to contain multiple <comp>HTTP Header</comp> components
	  with the same <prop comp="HTTP Header">name</prop> property.</assert></p>
        </div3>

	<div3 id="http-header-decl-property">
	  <head>HTTP Header component</head>
	  
	  <p>A <comp>HTTP Header</comp> component describes an abstract piece of
	  header data (HTTP header field) that is associated with the
	  exchange of messages between the communicating parties. The
	  presence of a <comp>HTTP Header</comp> component in a WSDL description
	  indicates that the service support headers and MAY require
	  a Web service consumer/client that interacts with the
	  service to use the described header field. Zero or one such
	  header field may be used.</p>

          <p>The properties of the <compdef>HTTP Header</compdef> component are as
          follows:</p>

          <ulist>
            <item> <p><propdef comp="HTTP Header">name</propdef> REQUIRED.
	    A <emph>xs:string</emph>  whose pattern facet is
		      <emph><attval>[!#-'*+\-.0-9A-Z^-z|~]+</attval></emph>, the name of the HTTP header field. The value of this
    property follows the <code>field-name</code> production rules as specified
    in section 4.2 of <bibref ref="RFC2616"/>.</p>
	    </item>

            <item> <p><propdef comp="HTTP Header">type definition</propdef> REQUIRED.

	    A <emph>xs:QName</emph>, being a reference to a <comp>Type Definition</comp> component in
    the <prop comp="Description">type definitions</prop> property of the <comp>Description</comp> component
    constraining the value of the HTTP header field. <assert class="component" id="HTTPHeader-5069" required="true">This type MUST be a simple type.</assert></p>
	    </item>

            <item> <p><propdef comp="HTTP Header">required</propdef> REQUIRED.
            A <emph>xs:boolean</emph> indicating if the HTTP
            header field is required. <assert class="component" id="HTTPHeader-5070" required="true">If the value is <attval>true</attval>, then the HTTP header field MUST be included in the message.</assert> If it is <attval>false</attval>, then the HTTP header field MAY be included.</p> </item>

            <item> <p><propdef comp="HTTP Header">parent</propdef> REQUIRED.
            The <comp>Binding Fault</comp>
            or <comp>Binding Message Reference</comp>
	    component component that contains this component in its
	    <prop comp="Binding Message Reference">http headers</prop> property.</p></item>
          </ulist>
	</div3>

        <div3 id="http-headers-decl-xml">
          <head>XML Representation</head>

        <eg xml:space="preserve">
&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" type="<emph>http://www.w3.org/2006/01/wsdl/http</emph>" &gt;
    &lt;fault ref="<emph>xs:QName</emph>"&gt;
      &lt;<b>whttp:header</b> name="<emph>xs:QName</emph>" type="<emph>xs:QName</emph>"
                    required="<emph>xs:boolean</emph>"? &gt;
        &lt;documentation /&gt;*
      &lt;/<b>whttp:header</b>&gt;*
      ...
    &lt;/fault&gt;*
    &lt;operation ref="<emph>xs:QName</emph>" &gt;
      &lt;input messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;<b>whttp:header</b> ... /&gt;*
	...
      &lt;/input&gt;*
      &lt;output messageLabel="<emph>xs:NCName</emph>"?&gt;
        &lt;<b>whttp:header</b> ... /&gt;*
	...
      &lt;/output&gt;*
    &lt;/operation&gt;*
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for a <comp>HTTP Header</comp> component is an <emph>element information item</emph>
with the following Infoset properties: </p>
          <ulist>
            <item>
              <p>A [local name] of <el>header</el>
              </p>
            </item>
            <item>
              <p>A [namespace name] of
  <attval>http://www.w3.org/2006/01/wsdl/http</attval>
              </p>
            </item>
            <item>
              <p>One or more <emph>attribute information item</emph>s amongst its [attributes] as follows:</p>
              <ulist>
                <item>
                  <p>A REQUIRED <att>name</att>
                    <emph>attribute information item</emph> with the following
      Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>name</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:string</emph> whose pattern facet is
		      <emph><attval>[!#-'*+\-.0-9A-Z^-z|~]+</attval></emph>.</p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>A REQUIRED <att>type</att>
                    <emph>attribute information item</emph> with the following
      Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>type</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:QName</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>An OPTIONAL <att>required</att>
                    <emph>attribute information item</emph> with the
      following Infoset properties:</p>
                  <ulist>
                    <item>
                      <p>A [local name] of <att>required</att>
                      </p>
                    </item>
                    <item>
                      <p>A [namespace name] which has no value</p>
                    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
                <item>
                  <p>Zero or more namespace qualified <emph>attribute information item</emph>s. The [namespace
      name] of such <emph>attribute information item</emph>s MUST NOT be <attval>http://www.w3.org/2006/01/wsdl</attval> and
      MUST NOT be <attval>http://www.w3.org/2006/01/wsdl/http</attval>.  </p>
                </item>
              </ulist>
            </item>
            <item>
              <p>Zero or more <emph>element information item</emph> amongst its [children], in order, as
  follows:</p>
              <olist>
                <item>
                  <p>Zero or more <el>documentation</el>
                    <emph>element information item</emph>s as defined in <bibref ref="WSDL-PART1"/>.</p>
                </item>
                <item>
                  <p>Zero or more namespace-qualified <emph>element information item</emph>s amongst its
      [children]. The [namespace name] of such <emph>element information item</emph>s MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl</attval> and MUST NOT be
      <attval>http://www.w3.org/2006/01/wsdl/http</attval>.</p>
                </item>
              </olist>
            </item>
          </ulist>
        </div3>

        <div3 id="http-headers-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_HTTP_Header_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Header_Mapping">
            <caption>Mapping from XML Representation to HTTP Header component-related
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Message Reference">http headers</prop></td>
                <td rowspan="1" colspan="1"> The set of <comp>HTTP Header</comp>
                components corresponding to all the <el>header</el>
                <emph>element information item</emph> in the [children] of the <el>fault</el>,
                <el>input</el> or <el>output</el> <emph>element information item</emph>, if any.
		</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="HTTP Header">name</prop></td>
                <td rowspan="1" colspan="1">The value of the <att>name</att> <emph>attribute information item</emph>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="HTTP Header">type definition</prop></td>
                <td rowspan="1" colspan="1">The <comp>Type Definition</comp> component from the <prop comp="Description">type definitions</prop> property of the <comp>Description</comp> component resolved to by the value of the <att>type</att> <emph>attribute information item</emph>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="HTTP Header">required</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>required</att>
                  <emph>attribute information item</emph> if present, otherwise <attval>false</attval>.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="HTTP Header">parent</prop></td>
		<td rowspan="1" colspan="1">
		  The <comp>Binding Fault</comp> or <comp>Binding
		  Message Reference</comp> component corresponding to
		  the <el>fault</el>, <el>input</el> or
		  <el>output</el> <emph>element information item</emph> in [parent].
		</td>
	      </tr>
            </tbody>
          </table>
        </div3>

        <div3 id="http-headers-decl-fragid">
          <head>IRI Identification Of A HTTP Header component</head>

	  <p>WSDL Version 2.0 Part 1: Core Language <bibref ref="WSDL-PART1"/> defines a <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">fragment identifier
	  syntax</xspecref> for identifying components of a WSDL 2.0
	  document.</p>

	  <p>An <comp>HTTP Header</comp> component can be identified using the
	  <emph><xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#wsdl.extension" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">wsdl.extension</xspecref></emph>
	  XPointer Framework scheme:</p>

	  <p><code>wsdl.extension(http://www.w3.org/2006/01/wsdl/http,
	  whttp.header(<emph>parent</emph>/<emph>name</emph>))</code></p>
	  <olist>
	    <item><p>
	      <emph>
		<code>parent</code>
	      </emph>
	      is the pointer part of the <prop comp="HTTP Header">parent</prop> component, as <xspecref href="http://www.w3.org/TR/2006/CR-wsdl20-20060327#frag-ids" xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">specified in WSDL
	      Version 2.0 Part 1: Core Language</xspecref>.
	    </p>
	    </item>
	    <item>
	      <p>
		<emph>
		  <code>name</code>
		</emph>
		is the <prop comp="HTTP Header">name</prop> property value.
	      </p>
	    </item>
	  </olist>	  

	</div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="http-fault-decl">
        <head>Specifying HTTP Error Code for Faults</head>

        <div3 id="http-fault-decl-description">
          <head>Description</head>

          <p>For every <comp>Interface Fault</comp> component contained in an
          <comp>Interface</comp> component, an HTTP error code MAY
          be defined. It represents the error code
          that will be used by the service in case the fault needs to
          be returned.</p>

	  <p>The fault definition SHOULD NOT go against the definition
	  of the HTTP error codes, as specified in section 8 of <bibref ref="RFC3205"/>.</p>
        </div3>

        <div3 id="http-fault-decl-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The HTTP Fault binding extension adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>

          <ulist>
            <item><p><propdef comp="Binding Fault">http error status code</propdef> REQUIRED.
            A union of <emph>xs:int</emph> and <emph>xs:token</emph> where the
	    allowed token value is <attval>#any</attval>, to the <comp>Binding Fault</comp> component. <assert class="component" id="HTTPBindingFault-2607002" required="true">An integer value
            of this property identifies the error Status-Code as defined by <bibref ref="RFC2616"/> that the
	    service will use in case the fault is returned.</assert> If the value of this property is <attval>#any</attval>,
	    no claim is made by the service.</p></item>
          </ulist>
        </div3>

        <div3 id="http-fault-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding &gt;
    &lt;fault ref="<emph>xs:QName</emph>"
           <b>whttp:code</b>="<emph>union of xs:int, xs:token</emph>"? &gt;
    &lt;/fault&gt;*
  &lt;/binding&gt;
&lt;/description&gt;
</eg>

          <p>The XML representation for binding an HTTP Fault are two
          <emph>attribute information item</emph>s with the following Infoset properties: </p>

          <ulist>
            <item><p>a <att>code</att> OPTIONAL <emph>attribute information item</emph></p>
              <ulist>
                <item><p>A [local name] of <att>code</att></p></item>

                <item> <p>A [namespace name] of
                <attval>http://www.w3.org/2006/01/wsdl/http</attval>
                </p></item>
		<item><p>A type of union of <emph>xs:int</emph> and
		  <emph>xs:token</emph> where the allowed token value
		  is <attval>#any</attval></p></item>
              </ulist>
            </item>
          </ulist>
        </div3>

        <div3 id="http-fault-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_HTTP_Fault_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Fault_Mapping">
            <caption>Mapping from XML Representation to <comp>Binding Fault</comp> component Extension
	    Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Fault">http error status code</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>whttp:code</att> <emph>attribute information item</emph>, if present; otherwise <attval>#any</attval>.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->


      <div2 id="_http_serialization">
        <head>Serialization Format of Instance Data</head>
        <p>
	This section specifies three serialization formats defining rules to encode an
	<termref def="instance_data">instance data</termref>
	corresponding to an input and output message as an HTTP
	message.  <specref ref="http_sftab"/> and <specref ref="http_sfstyles"/> give an overview of
	those serialization formats and their constraints. All of them allow serialization of parts of the 
	<termref def="instance_data">instance data</termref> in the HTTP Request IRI,
	as defined in section <specref ref="_http_location_template"/>.
      </p>
      <p>
	Other serialization formats may be defined. Those MAY place
	restrictions on the style of the Interface Operation bound.
      </p>


      <table border="1" id="http_sftab">
	<caption>Applicability of the serialization
	formats defined in this section for this HTTP binding</caption>
	<tbody>
	  <tr>
	    <td colspan="2" rowspan="3" align="center">-</td>
	    <th colspan="4" rowspan="1">Serialization of the instance data in
	    parts of an HTTP message</th>
	  </tr>
	  <tr>
	    <th rowspan="2" colspan="1">In the request URI</th>
	    <th colspan="3" rowspan="1">In the message body</th>
	  </tr>
	  <tr>
	    <th rowspan="1" colspan="1"><emph>application/x-www-form-urlencoded</emph></th>
	    <th rowspan="1" colspan="1"><emph>multipart/form-data</emph></th>
	    <th rowspan="1" colspan="1"><emph>application/xml</emph></th>
	  </tr>
	  <tr>
	    <th rowspan="2" colspan="1">HTTP request (input message)</th>
	    <th rowspan="1" colspan="1">Without message body: GET, DELETE, …</th>
	    <td align="center" rowspan="1" colspan="1">All, some or none</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	  </tr>
	  <tr>
	    <th rowspan="1" colspan="1">With message body: POST, PUT, …</th>
	    <td align="center" rowspan="1" colspan="1">All, some or none</td>
	    <td align="center" rowspan="1" colspan="1">Remainder</td>
	    <td align="center" rowspan="1" colspan="1">All</td>
	    <td align="center" rowspan="1" colspan="1">All</td>
	  </tr>
	  <tr>
	    <th colspan="2" rowspan="1">HTTP response (output message)</th>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">All</td>
	  </tr>
	</tbody>
      </table>

<!--
      <table border="1" id='http_sftab'>
	<caption>Applicability of the serialization
	formats defined in this section for this HTTP binding</caption>
	<tbody>
	  <tr>
	    <td colspan="2" rowspan="3" align="center">-</td>
	    <th colspan="6" align="center">Serialization of the instance data in
	    parts of an HTTP message</th>
	  </tr>
	  <tr>
	    <th colspan="2"><emph>application/x-www-form-urlencoded</emph></th>
	    <th colspan="2"><emph>multipart/form-data</emph></th>
	    <th colspan="2"><emph>application/xml</emph></th>
	  </tr>
	  <tr>
	    <th>In the request URI</th>
	    <th>In the message body</th>
	    <th>In the request URI</th>
	    <th>In the message body</th>
	    <th>In the request URI</th>
	    <th>In the message body</th>
	  </tr>
	  <tr>
	    <th rowspan="2">HTTP request (input message)</th>
	    <th>Without message body: GET, DELETE, &#x2026;</th>
	    <td align="center">All, some or none</td>
	    <td align="center">N/A</td>
	    <td colspan="2" align="center">Invalid</td>
	    <td colspan="2" align="center">Invalid</td>
	  </tr>
	  <tr>
	    <th>With message body: POST, PUT, &#x2026;</th>
	    <td align="center">All, some or none</td>
	    <td align="center">Remainder</td>
	    <td align="center">All, some or none</td>
	    <td align="center">All</td>
	    <td align="center">All, some or none</td>
	    <td align="center">All</td>
	  </tr>
	  <tr>
	    <th colspan="2">HTTP response (output message)</th>
	    <td colspan="2" align="center">Invalid</td>
	    <td colspan="2" align="center">Invalid</td>
	    <td align="center">N/A</td>
	    <td align="center">All</td>
	  </tr>
	</tbody>
      </table>
-->

      <table border="1" id="http_sfstyles">
	<caption>Operation styles required for using serialization formats defined below
	as input serialization</caption>
	<tbody>
	  <tr>
	    <th rowspan="3" colspan="1">HTTP Method</th>
	    <th colspan="4" rowspan="1">Request</th>
	  </tr>
	  <tr>
	    <th rowspan="2" colspan="1">Request URI: query parameters or path components</th>
	    <th colspan="3" rowspan="1">Input serialization</th>
	  </tr>
	  <tr>
	    <th rowspan="1" colspan="1"><emph>application/x-www-form-urlencoded</emph></th>
	    <th rowspan="1" colspan="1"><emph>multipart/form-data</emph></th>
	    <th rowspan="1" colspan="1"><emph>application/xml</emph></th>
	  </tr>
	  <tr>
	    <th rowspan="1" colspan="1">Without message body: GET, DELETE, …</th>
	    <td align="center" rowspan="1" colspan="1">IRI style</td>
	    <td align="center" rowspan="1" colspan="1">IRI style</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	    <td align="center" rowspan="1" colspan="1">-</td>
	  </tr>
	  <tr>
	    <th rowspan="1" colspan="1">With message body: POST, PUT, …</th>
	    <td align="center" rowspan="1" colspan="1">IRI style, if any data is serialized as path components or query parameters</td>
	    <td align="center" rowspan="1" colspan="1">IRI style</td>
	    <td align="center" rowspan="1" colspan="1">Multipart style</td>
	    <td align="center" rowspan="1" colspan="1">None required</td>
	  </tr>
	</tbody>
      </table>

      <div3 id="_http_location_template">
	<head>Serialization of the instance data in parts of the HTTP request IRI</head>

            <ednote id="URIPath">
              <name>URIPath Feedback Requested</name>
              <edtext>The inclusion of elements of the instance data
				  in the path of the request URI, whilst supported by WSDL 1.1,
				  is not supported by XForms 1.0. Hence this mechanism MAY be
				  removed in a future version of this specification.
				  Feedback on this issue from users and implementers is
				  highly encouraged.</edtext>
            </ednote>

	    <p>This section defines templating rules for the <prop comp="Binding Operation">http
	    location</prop> property of the <comp>Binding
	    Operation</comp> component. It is used by the serialization formats defined in section <specref ref="_http_serialization"/>, and MAY be reused by other serialization formats.</p>

	    <p>With this HTTP binding, part of the instance data for
	    HTTP requests MAY be serialized in the HTTP request IRI,
	    and another part MAY be serialized in the HTTP message
	    body.</p>

	    <p><assert class="component" id="HTTPSerialization-2608001" required="true">If the <prop comp="Interface Operation">style</prop> property of the <comp>Interface Operation</comp> bound has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval> as defined in <specref ref="_operation_iri_style"/>, and if the <prop comp="Binding Operation">http
	    location</prop> property of the <comp>Binding
	    Operation</comp> component is present, the value of the <prop comp="Binding Operation">http
	    location</prop> property component is used as a
	    template</assert> which is combined with the <prop comp="Endpoint">address</prop> property of the endpoint
	    element to form the full IRI to be used in an HTTP
	    request, as specified in section <specref ref="http-operation-decl-relate"/>.</p>

	    <p><assert class="component" id="HTTPSerialization-5071" required="true">The resulting IRI MUST be mapped to an URI for use in
	    the HTTP Request as per section 3.1 "Mapping of IRIs to
	    URIs" of the IRI specification <bibref ref="RFC3987"/>.</assert> Additional rules for the serialization of
	    the HTTP request IRI MAY be defined by a serialization
	    format.</p>

          <div4 id="_http_operation_location_cited_ser">
            <head>Construction of the request IRI using the {http
            location} property</head>
            <p>The <prop comp="Binding Operation">http location</prop>
	    property, if present, MAY cite local names of
	    elements from the 
				<termref def="instance_data">instance data</termref> of the
				message to be serialized in 
				request IRI by enclosing the element name within curly
				braces (e.g. <attval>temperature/{town}</attval>):
				</p>
            <ulist>
              <item>
                <p>When constructing the request IRI, each pair of
                curly braces (and enclosed element name) is replaced
                by the possibly empty single value of the
                corresponding element. If a local name appears more
                than once, the elements are used in the order they
                appear in the <termref def="instance_data">instance
                data</termref>. It is an error for this element to
                carry an <att>xs:nil</att> attribute whose value is
                <attval>true</attval>.
		</p>
              </item>
              <item>
                <p>A double curly brace (i.e. <attval>{{</attval> or <attval>}}</attval>) MAY be used to include
				a single, literal curly brace in the request IRI.</p>
              </item>
            </ulist>
            <p><assert class="component" id="HTTPSerialization-5073" required="true">Strings enclosed within single
            curly braces MUST be element names from the <termref def="instance_data">instance data</termref> of the input
            message; local names within single curly braces not
            corresponding to an element in the <termref def="instance_data">instance data</termref> are a fatal
            error.</assert>
				</p>

          </div4>

	</div3>

        <div3 id="_http_x-www-form-urlencoded">
          <head>Serialization as <attval>application/x-www-form-urlencoded</attval>
          </head>
          <p>
	  This serialization format is designed to allow a client or
	  Web service to produce an IRI based on the <termref def="instance_data">instance data</termref> of a message and
	  serialize a query string in the HTTP message body as <code>application/x-www-form-urlencoded</code>.
	  </p>

	  <p>
	  It may only be used when binding <comp>Interface
	  Operation</comp> whose <prop comp="Interface Operation">style</prop> property has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval> as defined in <specref ref="_operation_iri_style"/>, i.e. this serialization format
	  may only be used to serialize the HTTP request corresponding
	  to the initial message of an
	  interface operation.
	  </p>

	  <p>
	    <assert class="component" id="HTTPSerialization-2608002" required="true">For the HTTP binding defined in this section
	    (<specref ref="http-binding"/>),
	    <attval>application/x-www-form-urlencoded</attval> MAY be
	    used as a <termref def="serialization_format">serialization format</termref>
	    for an input message (HTTP Request), but MUST NOT be used as a <termref def="serialization_format">serialization format</termref>
	    for an output or fault message (HTTP Response).</assert>
	  </p>

          <div4 id="_http_operation_location_cited_get">
            <head>Case of elements cited in the {http location} property</head>

	  <p>In this serialization, the rules  for constructing the HTTP request IRI using elements cited in the <prop comp="Binding Operation">http location</prop> property defined in <specref ref="_http_location_template"/> apply. Additional rules for constructing the HTTP request IRI follow.</p>

	  </div4>

          <div4 id="_http_operation_location_notcited_get">
            <head>Serialization of content of the instance data not cited in the {http location} property</head>
	    <p><assert class="component" id="HTTPSerialization-2608003" required="true">If not all elements from the <termref def="instance_data">instance data</termref> are cited in
	    the <prop comp="Binding Operation">http location</prop>
	    property, or if the property is not present on the
	    <comp>Binding Operation</comp> component, then additional
	    serialization rules apply.</assert></p>

	    <p>The remainder of the instance data is formatted as a
	    query string as defined in <specref ref="_http_operation_location_query_constr"/>.</p>

	    <p>If the HTTP method used for the request
	    does not allow a message body, then this query string is serialized as parameters in the request
	    IRI (see <specref ref="_http_operation_location_notcited_iri"/>), otherwise
	    it is serialized in the message body (see <specref ref="_http_operation_location_notcited_body"/>).</p>

	    <div5 id="_http_operation_location_query_constr">
	      <head>Construction of the query string</head>

	      <p><assert class="component" id="HTTPSerialization-2608004" required="true">For elements of the instance data not cited in the
	      <prop comp="Binding Operation">http location</prop> property, a query
	      string is constructed as follows.</assert></p>

            <p>Non-nil
  elements with a possibly empty single value of the <termref def="instance_data">instance
	    data</termref> not cited
              are serialized as query parameters in the order they appear in
	      the instance data.
				</p>

	  <p><assert class="component" id="HTTPQueryString-5074" required="true">It is an error for the <termref def="instance_data">instance data</termref> to contain
	  elements with an <att>xs:nil</att> attribute whose value is
	  <attval>true</attval>.</assert></p>

            <p>
	    Each parameter pair is separated by the value of the <prop comp="Binding Operation">http query parameter
	    separator</prop> property, if present, or the value of the
	    <prop comp="Binding">http query parameter
	    separator default</prop> property.
	  </p>
            <ulist>
              <item>
                <p>Uncited elements with single values (non-list) are
                serialized as a single name-value parameter pair. The
                name of the parameter is the local name of the uncited
                element, and the value of the parameter is the value
                of the uncited element.
					</p>
              </item>
              <item>
                <p>Uncited elements with list values are serialized as
                one name-value parameter pair per list value. The name
                of each parameter is the local name of the uncited element,
                and the value of each parameter is the corresponding
                value in the list. The order of the list values is
                preserved.
					</p>
              </item>
            </ulist>

          <example id="urlencoded_example_querystring">
            <head>Query string generation</head>
            <p>
            The following instance data of an input message
          </p>
            <eg xml:space="preserve">&lt;data&gt;
  &lt;town&gt;Fréjus&lt;/town&gt;
  &lt;date&gt;2006-03-27&lt;/date&gt;
  &lt;unit&gt;C&lt;/unit&gt;
&lt;/data&gt;</eg>
            <p>
            with the following value of the <prop comp="Binding Operation">http location</prop> property:
          </p>
            <eg xml:space="preserve">'temperature/{town}'</eg>
            <p>
            and the following value of the <prop comp="Binding">http
	    query parameter separator default</prop> property:
          </p>
            <eg xml:space="preserve">'&amp;'</eg>
            <p>
            will produce the following query string:
          </p>
            <eg xml:space="preserve">date=2006-03-27&amp;unit=C</eg>
          </example>

	    </div5>

	    <div5 id="_http_urlencoded_stop">
	      <head>Controlling the serialization of the query string in the request IRI</head>

	      <p>This serialization format adds the following property to the WSDL component model:</p>

	      <ulist>
		<item>
		  <p><propdef comp="Binding Operation">http location ignore uncited</propdef> MANDATORY. A
		  <emph>xs:boolean</emph>.  This boolean indicates
		  whether elements not cited in the <prop comp="Binding Operation">http location</prop> property
		  MUST be appended to the request IRI or ignored. If the value of this property is <attval>false</attval>, the rules defined in section <specref ref="_http_operation_location_notcited_iri"/>
		  dictate how to serialize elements not cited in <prop comp="Binding Operation">http location</prop> in the request IRI. Otherwise, those are NOT serialized in the request IRI.</p>
		</item>
	      </ulist>

	      <p>The XML representation for this property is an 
	      <emph>attribute information item</emph> with the following Infoset properties:</p>

	      <ulist>
		<item>
		  <p>An OPTIONAL <att>ignoreUncited</att>
		  <emph>attribute information item</emph> with the following
		  Infoset properties:</p>
		  <ulist>
		    <item>
		      <p>A [local name] of <att>ignoreUncited</att>
                      </p>
                    </item>
		    <item>
		      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		      </p>
		    </item>
		    <item>
		      <p>A type of <emph>xs:boolean</emph></p>
		    </item>
                  </ulist>
                </item>
	      </ulist>

	      <p>The mapping from the XML representation to component properties is as follows:</p>

          <table border="1" id="tab_HTTP_URLEnc_Ignore">
            <caption>Mapping from XML Representation to Binding Operation component Extension Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding Operation">http location ignore uncited</prop></td>
                <td rowspan="1" colspan="1">The actual value of the
		<att>whttp:ignoreUncited</att>
                  <emph>attribute information item</emph>, if present. Otherwise, <attval>false</attval>.</td>
              </tr>
	    </tbody>
	  </table>

	    </div5>

	    <div5 id="_http_operation_location_notcited_iri">
	      <head>Serialization in the request IRI</head>

	      <p><assert class="component" id="HTTPSerialization-2608005" required="true">If the HTTP request method used does not allow
	      HTTP message body (e.g. <attval>GET</attval> and
	      <attval>DELETE</attval>), and if the value of the <prop comp="Binding Operation">http location ignore uncited</prop> property is <attval>false</attval>, then the following rules
	      apply.</assert></p>

	      <p>If the <prop comp="Binding Operation">http
	      location</prop> property is not present, or if it is
	      present and its value does not contain a
	      <attval>?</attval> (question mark) character, one is
	      appended to the request IRI. If it does already contain
	      a question mark character, then the value of the <prop comp="Binding Operation">http query parameter
	      separator</prop> property, if present, or the value of
	      the <prop comp="Binding">http query parameter separator
	      default</prop> property otherwise, is appended.</p>

	      <p>Finally, the query string computed in <specref ref="_http_operation_location_query_constr"/> is appended.</p>

          <example id="urlencoded_example">
            <head>Instance data serialized in a IRI</head>
            <p>
	      The instance data defined in <specref ref="urlencoded_example_querystring"/> with the following <el>operation</el> declaration:
          </p>
            <eg xml:space="preserve">&lt;operation ref='t:data'
    whttp:location='temperature/{town}'
    whttp:method='GET' /&gt;</eg>
            <p>
            and the following <el>endpoint</el> declaration:
          </p>
            <eg xml:space="preserve">&lt;endpoint name='e' binding='t:b'
    address='http://ws.example.com/service1/' /&gt;</eg>
            <p>
            will serialize the message in the HTTP request as follows:
          </p>
            <eg xml:space="preserve">GET http://ws.example.com/service1/
    temperature/Fr%C3%A9jus?date=2006-03-27&amp;unit=C HTTP/1.1
Host: ws.example.com</eg>
          </example>

	    </div5>

	    <div5 id="_http_operation_location_notcited_body">
	      <head>Serialization in the message body</head>

	      <p><assert class="component" id="HTTPSerialization-2608007" required="true">If the HTTP request method used does allow an
	      HTTP message body (e.g. <attval>POST</attval> and
	      <attval>PUT</attval>), then the following rules
	      apply.</assert></p>

	      <p>Finally, the query string computed in <specref ref="_http_operation_location_query_constr"/> is used as the
	      value of the HTTP message body.</p>

	      <p><assert class="component" id="HTTPSerialization-2608008" required="true">The <code>Content-Type</code> HTTP header field must
	      have the value
	      <code>application/x-www-form-urlencoded</code>.</assert></p>

          <example id="urlencoded_example_body">
            <head>Instance data serialized in the HTTP Request IRI and message body</head>
            <p>
	      The instance data defined in <specref ref="urlencoded_example_querystring"/> with the following <el>operation</el> declaration:
          </p>
            <eg xml:space="preserve">&lt;operation ref='t:data'
    whttp:inputSerialization='application/x-www-form-urlencoded'
    whttp:location='temperature/{town/}'
    whttp:method='POST' /&gt;</eg>
            <p>
            and the following <el>endpoint</el> declaration:
          </p>
            <eg xml:space="preserve">&lt;endpoint name='e' binding='t:b'
    address='http://ws.example.com/service1/' /&gt;</eg>
            <p>
            will serialize the message in the HTTP request as follow:
          </p>
            <eg xml:space="preserve">POST http://ws.example.com/service1/temperature/Fr%C3%A9jus HTTP/1.1
Host: ws.example.com
Content-Type: application/x-www-form-urlencoded
Content-Length: …

date=2006-03-27&amp;unit=C</eg>
          </example>
	    </div5>
          </div4>
        </div3>

        <div3 id="_http_operation_xml_encoding">
          <head>Serialization as <attval>application/xml</attval>
          </head>

	  <p>In this serialization, for HTTP requests, the rules  for constructing the HTTP request IRI
	  defined in <specref ref="_http_location_template"/> apply if
	  the <prop comp="Interface Operation">style</prop> property
	  of the <comp>Interface Operation</comp> bound has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval> as defined in <specref ref="_operation_iri_style"/>.</p>

          <p>
	  The <termref def="instance_data">instance data</termref> of
	  the input, output or fault message is serialized as an XML document
	  in the message body of the HTTP message, following the
	  serialization defined in <bibref ref="Canonical"/>.
	  Therefore, it is only suitable for HTTP requests using
	  methods allowing message bodies (i.e., for the HTTP binding
	  defined in this specification, input messages where the
	  HTTP method selected
	    has
	  a body), and for HTTP responses (i.e. output and fault messages for
	  the HTTP binding defined in this specification).
	</p>

          <p>
	  <assert class="component" id="HTTPSerialization-5075" required="true">The <code>Content-Type</code> HTTP header MUST have the value
	  <code>application/xml</code>, or a media type compatible with
	  <code>application/xml</code> as specified in section <specref ref="_http_ser_xml"/>.</assert> Other HTTP headers, such as
	  <code>Content-Encoding</code> or
	  <code>Transfer-Encoding</code>, MAY be used.
	</p>
        </div3>
        <div3 id="_http_operation_multipart_encoding">
          <head>Serialization as <attval>multipart/form-data</attval>
          </head>

	  <p>In this serialization, for HTTP requests, the rules for constructing the HTTP request IRI
	  defined in <specref ref="_http_location_template"/> apply if
	  the <prop comp="Interface Operation">style</prop> property
	  of the <comp>Interface Operation</comp> bound has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval> as defined in <specref ref="_operation_iri_style"/>.</p>

          <p>
	  This format is for legacy compatibility to permit the use of
	  XForms clients with <bibref ref="RFC2388"/> servers. This 
	  serialization format may only be used when binding
	  <comp>Interface Operation</comp> whose <prop comp="Interface Operation">style</prop> property has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/multipart</attval> as defined in <specref ref="_operation_multipart_style"/>, i.e. <assert class="component" id="HTTPSerialization-2608009" required="true">this serialization
	  format may only be used to serialize the HTTP request
	  corresponding to the initial message of
	  an interface operation.</assert>
	  </p>

	  <p>
	    <assert class="component" id="HTTPSerialization-5076" required="true">Specifically, for the HTTP binding defined in this section
	    (<specref ref="http-binding"/>),
	    <attval>multipart/form-data</attval> MAY be
	    used as a <termref def="serialization_format">serialization format</termref>
	    for an input message (HTTP Request), but MUST NOT be used as a <termref def="serialization_format">serialization format</termref>
	    for an output or fault message (HTTP Response).</assert>
	    This format serializes the instance
data in the HTTP message body, making it only suitable for
HTTP requests using methods allowing message bodies.</p>

          <p>
	  Each element in the sequence is serialized into a part as
	  follow:
	</p>
          <olist>
            <item>
              <p>
	      <assert class="component" id="HTTPSerialization-5077" required="true">The <code>Content-Disposition</code> header MUST have the
	      value <code>form-data</code>, and its <code>name</code>
	      parameter is the local name of the element.</assert>
	    </p>
            </item>
            <item>
              <p>
	      <assert class="component" id="HTTPSerialization-5078" required="true">The <code>Content-Type</code> header MUST have the value:</assert>
	    </p>
              <ulist>
                <item>
                  <p>
                    <code>application/xml</code> (or a media type
		  compatible with <code>application/xml</code>) if the
		  element has a complex type;
		</p>
                </item>
                <item>
                  <p>
                    <code>application/octet-stream</code> if the element
		  is of type 
		  <code>xs:base64Binary</code>,
		  <code>xs:hexBinary</code>, or a derived type;
		</p>
                </item>
                <item>
                  <p>
                    <code>text/plain</code> if the element has a simple
		  type; The charset MUST be set appropriately. UTF-8 or
		  UTF-16 MUST be at least supported.
		</p>
                </item>
              </ulist>
            </item>
            <item>
              <p>
	      If the type is <code>xs:base64Binary</code>,
	      <code>xs:hexBinary</code>, <code>xs:anySimpleType</code>
	      or a derived type, the content of the part is the content
	      of the element. If the type is a complex type, the element
	      is serialized following the rules defined in the <specref ref="_http_operation_xml_encoding"/>.
	    </p>
            </item>
          </olist>
	  <p><assert class="component" id="HTTPSerialization-5079" required="true">It is an error for the <termref def="instance_data">instance data</termref> to contain
	  elements with an <att>xs:nil</att> attribute whose value is
	  <attval>true</attval>.</assert></p>
          <example>
            <head>Example of multipart/form-data</head>
            <p>
	    The following instance data of an input message:
	  </p>
            <eg xml:space="preserve">&lt;data&gt;
  &lt;town&gt;
    &lt;name&gt;Fréjus&lt;/name&gt;
    &lt;country&gt;France&lt;/country&gt;
  &lt;/town&gt;
  &lt;date&gt;2006-03-27&lt;/date&gt;
&lt;/data&gt;</eg>
            <p>
	    with the following <el>operation</el> element
	  </p>
            <eg xml:space="preserve">&lt;operation ref='t:data'
    whttp:location='temperature'
    whttp:method='POST'
    whttp:inputSerialization='multipart/form-data'/&gt;</eg>
            <p>
	    will serialize the message as follow:
	  </p>
            <eg xml:space="preserve">Content-Type: multipart/form-data; boundary=AaB03x
Content-Length: xxx
        
--AaB03x
Content-Disposition: form-data; name="town"
Content-Type: application/xml

&lt;town&gt;
  &lt;name&gt;Fréjus&lt;/name&gt;
  &lt;country&gt;France&lt;/country&gt;
&lt;/town&gt;
--AaB03x
Content-Disposition: form-data; name="date"
Content-Type: text/plain; charset=utf-8

2006-03-27
--AaB03x--</eg>
          </example>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="http-transfer-coding-decl">
        <head>Specifying the Transfer Coding</head>

        <div3 id="http-transfer-description">
          <head>Description</head>

	  <p>Every <comp>Binding Message Reference</comp> and
	  <comp>Interface Fault Reference</comp>
	  component MAY indicate which
	  transfer codings, as defined in section 3.6 of <bibref ref="RFC2616"/>, are available for this particular
	  message.</p>

	  <p>The HTTP binding extension provides a mechanism for indicating a
	  default value at the <comp>Binding</comp> component and <comp>Binding Operation</comp>
	  levels.</p>

	  <p>If no value is specified, no claim is being made.</p>

        </div3>

        <div3 id="http-transfer-coding-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The HTTP binding extension specification adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>
	  
	  <ulist>
	    <item>
	      <p><propdef comp="Binding">http
	      transfer coding default</propdef> OPTIONAL. A
	      <emph>xs:string</emph> to the <comp>Binding</comp>
	      component. This property indicates the default transfer
	      codings available for all <comp>Interface Message
	      Reference</comp> and <comp>Interface Fault
	      Reference</comp> components of any <comp>Interface</comp>
	      component that uses this <comp>Binding</comp> component.</p>
	    </item>
	    <item>
	      <p><propdef comp="Binding Operation">http
	      transfer coding default</propdef> OPTIONAL. A
	      <emph>xs:string</emph> to the <comp>Binding Operation</comp>
	      component. This property indicates the default transfer
	      codings available for all <comp>Binding Message
	      Reference</comp> and <comp>Binding Fault</comp>
	      components of this <comp>Binding Operation</comp>
	      component.</p>
	    </item>
	    <item>
	      <p><propdef comp="Binding Message Reference">http transfer coding</propdef> OPTIONAL. A <emph>xs:string</emph> to
	      the <comp>Binding Message Reference</comp> component. This property indicates the
	      transfer codings available for this <comp>Binding Message Reference</comp> component.</p>
	    </item>
	    <item><p>Similarly, <propdef comp="Binding Fault">http transfer coding</propdef> OPTIONAL, to the <comp>Binding Fault</comp> component</p></item>
	  </ulist>

	  <p>These properties are not relevant when HTTP 1.0 is used.</p>

        </div3>

        <div3 id="http-transfer-coding-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"? type="<emph>xs:anyURI</emph>"
           <b>whttp:transferCodingDefault</b>="<emph>xs:string</emph>"? &gt;

    &lt;fault ref="<emph>xs:QName</emph>"
           <b>whttp:transferCoding</b>="<emph>xs:string</emph>"? &gt;
    &lt;/fault&gt;*

    &lt;operation location="<emph>xs:anyURI</emph>"?
               <b>whttp:transferCodingDefault</b>="<emph>xs:string</emph>"? &gt;
      &lt;input messageLabel="<emph>xs:NCName</emph>"? 
             <b>whttp:transferCoding</b>="<emph>xs:string</emph>"? /&gt;

      &lt;output messageLabel="<emph>xs:NCName</emph>"?
              <b>whttp:transferCoding</b>="<emph>xs:string</emph>"? /&gt;

    &lt;/operation&gt;
  &lt;/binding&gt;
&lt;/description&gt;
</eg>
          <p>The XML representation for specifying the transfer coding
          is an OPTIONAL <emph>attribute information item</emph> for the <el>input</el>,
          <el>output</el>, and <el>fault</el>
          <emph>element information item</emph>s with the following Infoset properties: </p>

          <ulist>
            <item>
              <p>A [local name] of <att>transferCoding</att>
              </p>
            </item>
            <item>
	      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
              </p>
            </item>
	    <item>
	      <p>A type of <emph>xs:string</emph></p>
	    </item>
          </ulist>

          <p>The XML representation for specifying the default
          transfer coding is an OPTIONAL <emph>attribute information item</emph> for the
          <el>binding</el> <emph>element information item</emph> or <el>binding</el>'s child
          <el>operation</el> <emph>element information item</emph>s with the following Infoset
          properties: </p>

          <ulist>
            <item>
              <p>A [local name] of <att>transferCodingDefault</att>
              </p>
            </item>
            <item>
	      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
              </p>
            </item>
	    <item>
	      <p>A type of <emph>xs:string</emph></p>
	    </item>
          </ulist>

        </div3>

        <div3 id="http-transfer-coding-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_HTTP_Transfer_Coding_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Transfer_Coding_Mapping">
            <caption>Mapping from XML Representation to <comp>Interface Message Reference</comp> component Extension
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">http
		transfer coding default</prop> of the
		<comp>Binding</comp> component</td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>whttp:transferCodingDefault</att>
		<emph>attribute information item</emph> of
		the <el>binding</el> <emph>element information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding        Operation">http transfer coding default</prop> of the
		<comp>Binding Operation</comp> component</td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>whttp:transferCodingDefault</att>
		<emph>attribute information item</emph> of
		the <el>operation</el> <emph>element information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding        Message        Reference">http transfer coding</prop> of the <comp>Binding Message Reference</comp> component</td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>whttp:transferCoding</att> <emph>attribute information item</emph> of
		the <el>input</el> or <el>output</el> <emph>element information item</emph>,
                if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding        Fault">http transfer coding</prop> of the <comp>Binding Fault</comp> component</td>
                <td rowspan="1" colspan="1">The actual value of the
                <att>whttp:transferCoding</att> <emph>attribute information item</emph> of
		the <el>fault</el> <emph>element information item</emph>,
                if present.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="http-cookies-decl">
        <head>Specifying the Use of HTTP Cookies</head>

        <div3 id="http-cookies-description">
          <head>Description</head>

	  <p>Every <comp>Binding</comp> component MAY indicate whether HTTP cookies
	  (as defined by <bibref ref="RFC2965"/>) are used for some or
	  all of operations of the interface that this binding applies
	  to.</p>

        </div3>

        <div3 id="http-cookies-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The HTTP binding extension specification adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>
	  
	  <ulist>
	    <item>
	      <p><propdef comp="Binding">http cookies</propdef> REQUIRED.
          A <emph>xs:boolean</emph> to the <comp>Binding</comp>
	      component.</p>
	    </item>
	  </ulist>

        </div3>

        <div3 id="http-cookies-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;binding name="<emph>xs:NCName</emph>" interface="<emph>xs:QName</emph>"? type="<emph>xs:anyURI</emph>"
           <b>whttp:cookies</b>="<emph>xs:boolean</emph>"? &gt;
  &lt;/binding&gt;
&lt;/description&gt;
</eg>
          <p>The XML representation for specifying the use of HTTP cookies
          is an OPTIONAL <emph>attribute information item</emph> with the following Infoset properties: </p>

          <ulist>
            <item>
              <p>A [local name] of <att>cookies</att>
              </p>
            </item>
            <item>
	      <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
              </p>
            </item>
	    <item>
	      <p>A type of <emph>xs:boolean</emph></p>
	    </item>
          </ulist>
        </div3>

        <div3 id="http-cookies-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_HTTP_Cookies_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Cookies_Mapping">
            <caption>Mapping from XML Representation to Binding component Extension
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Binding">http cookies</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:cookies</att>
                  <emph>attribute information item</emph>; otherwise, <attval>false</attval>.</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <!-- +++++++++ -->

      <div2 id="http-auth-decl">
        <head>Specifying HTTP Access Authentication</head>

        <div3 id="http-auth-description">
          <head>Description</head>

	  <p>Every <comp>Endpoint</comp> component MAY indicate the use of an HTTP
	  access authentication mechanism (as defined by <bibref ref="RFC2616"/>) for the endpoint described.</p>

	  <p>This binding extension specification allows the authentication
	  scheme and realm to be specified.</p>

        </div3>

        <div3 id="http-auth-relate">
          <head>Relationship to WSDL Component Model</head>

          <p>The HTTP binding extension specification adds the following
          property to the WSDL component model (as defined in <bibref ref="WSDL-PART1"/>):</p>
	  
	  <ulist>
	    <item>
	      <p><propdef comp="Endpoint">http authentication scheme</propdef> OPTIONAL.
	      A <emph>xs:token</emph> with one of the values <attval>basic</attval> or <attval>digest</attval>, to the <comp>Endpoint</comp>
	      component, corresponding to the HTTP authentication
	      scheme used. When present, this property indicates the authentication scheme in use: <attval>basic</attval> indicates the Basic Access
	      Authentication scheme defined in <bibref ref="RFC2617"/>, and <attval>digest</attval> indicates the Digest Access
	      Authentication scheme as defined in <bibref ref="RFC2617"/>.</p>
	    </item>
	    <item>
	      <p><propdef comp="Endpoint">http authentication realm</propdef> OPTIONAL.
	      A <emph>xs:string</emph> to the
	      <comp>Endpoint</comp> component. It corresponds to the realm authentication
	      parameter defined in <bibref ref="RFC2617"/>. <assert class="component" id="HTTPAccessAuthentication-5080" required="true">If the
	      <prop comp="Endpoint">http authentication scheme</prop> property is present, then 
	      this property MUST be present.</assert>
	      </p>
	    </item>
	  </ulist>

        </div3>

        <div3 id="http-auth-decl-xml">
          <head>XML Representation</head>

          <eg xml:space="preserve">&lt;description&gt;
  &lt;service&gt;
    &lt;endpoint name="<emph>xs:NCName</emph>" binding="<emph>xs:QName</emph>" address="<emph>xs:anyURI</emph>"? &gt;
              <b>whttp:authenticationType</b>="<emph>xs:token</emph>"? 
              <b>whttp:authenticationRealm</b>="<emph>xs:string</emph>"? /&gt;
    &lt;/endpoint&gt;
  &lt;/service&gt;
&lt;/description&gt;</eg>

          <p>The XML representation for specifying the use of HTTP
	  access authentication
          is two OPTIONAL <emph>attribute information item</emph>s with the following Infoset properties: </p>

	  <ulist>
	    <item>
	      <p>An OPTIONAL <att>authenticationType</att> <emph>attribute information item</emph> with
	      the following Infoset properties:</p>
	      <ulist>
		<item>
		  <p>A [local name] of <att>authenticationType</att>
		  </p>
		</item>
		<item>
		  <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		  </p>
		</item>
		<item>
		  <p>A type of <emph>xs:token</emph> where the allowed token values are
		  <attval>basic</attval> and <attval>digest</attval>.</p>
		</item>
	      </ulist>
	    </item>
	    <item>
	      <p>An OPTIONAL <att>authenticationRealm</att> <emph>attribute information item</emph> with
	      the following Infoset properties:</p>
	      <ulist>
		<item>
		  <p>A [local name] of <att>authenticationRealm</att>
		  </p>
		</item>
		<item>
		  <p>A [namespace name] of <attval>http://www.w3.org/2006/01/wsdl/http</attval>
		  </p>
		</item>
		<item>
		  <p>A type of <emph>xs:string</emph></p>
		</item>
	      </ulist>
	    </item>
	  </ulist>
        </div3>

        <div3 id="http-auth-decl-mapping">
          <head>Mapping from XML Representation to Component Properties</head>

          <p>See <specref ref="tab_HTTP_Access_Authentication_Mapping"/>.</p>

          <table border="1" id="tab_HTTP_Access_Authentication_Mapping">
            <caption>Mapping from XML Representation to Endpoint component Extension
            Properties</caption>
            <tbody>
              <tr>
                <th rowspan="1" colspan="1">Property</th>
                <th rowspan="1" colspan="1">Value</th>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Endpoint">http authentication scheme</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:authenticationType</att>
                  <emph>attribute information item</emph>, if present.</td>
              </tr>
              <tr>
                <td rowspan="1" colspan="1"><prop comp="Endpoint">http authentication realm</prop></td>
                <td rowspan="1" colspan="1">The actual value of the <att>whttp:authenticationRealm</att>
                  <emph>attribute information item</emph>, if present; otherwise, if the <att>whttp:authenticationType</att> <emph>attribute information item</emph> is present, <attval/> (the empty value).</td>
              </tr>
            </tbody>
          </table>
        </div3>
      </div2>

      <div2 id="http-conformance">
	<head>Conformance</head>

	<p>An <emph>element information item</emph> whose namespace name is <attval>http://www.w3.org/2006/01/wsdl</attval>
	and whose local part is <el>description</el> conforms to this
	binding extension specification if the <emph>element information item</emph>s and <emph>attribute information item</emph>s whose namespace
	is http://www.w3.org/2006/01/wsdl/http conform to the XML Schema for that element
	or attribute as defined by this specification and additionally
	adheres to all the constraints contained in this
	specification.</p>

      </div2>

    </div1>

    <div1 id="References">
      <head>References</head>
      <div2 id="Normative-References">
        <head>Normative References</head>
        <blist>
          <bibl id="Canonical" key="Canonical XML" href="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Canonical XML</titleref>, J. Boyer, Author. World
	    Wide Web Consortium, 15 March 2001. This version of the
	    Canonical XML Recommendation is
	    http://www.w3.org/TR/2001/REC-xml-c14n-20010315. The <loc href="http://www.w3.org/TR/xml-c14n" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    Canonical XML</loc> is available at
	    http://www.w3.org/TR/xml-c14n.
	  </bibl>
          <bibl key="IETF RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt" id="RFC2119" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Key words for use in RFCs to Indicate Requirement
	    Levels</titleref>, S. Bradner, Author. Internet Engineering
	    Task Force, June 1999. Available at
	    http://www.ietf.org/rfc/rfc2119.txt.
	  </bibl>
          <bibl id="RFC2388" key="IETF RFC 2388" href="http://www.ietf.org/rfc/rfc2388.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Returning Values from Forms:
	    multipart/form-data</titleref>, L. Masinter,
	    Author. Internet Engineering Task Force, August
	    1998. Available at http://www.ietf.org/rfc/rfc2388.txt.
	  </bibl>
          <bibl id="RFC2616" key="IETF RFC 2616" href="http://www.ietf.org/rfc/rfc2616.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Hypertext Transfer Protocol --
	    HTTP/1.1</titleref>, 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/rfc2616.txt.
	  </bibl>
          <bibl id="RFC2617" key="IETF RFC 2617" href="http://www.ietf.org/rfc/rfc2617.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">HTTP Authentication:
		      Basic and Digest Access
		      Authentication</titleref>, J. Franks,
		      P. Hallam-Baker, J. Hostetler, S. Lawrence,
		      P. Leach, A. Luotonen, L. Stewart, June
	    1999. Available at http://www.ietf.org/rfc/rfc2616.txt.
	  </bibl>
          <bibl id="RFC2818" key="IETF RFC 2818" href="http://www.ietf.org/rfc/rfc2818.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">HTTP Over TLS</titleref>,
	    E. Rescorla, Author. Internet Engineering
	    Task Force, May 2000. Available at
	    http://www.ietf.org/rfc/rfc2818.txt.
	  </bibl>
          <bibl key="IETF RFC 2965" href="http://www.ietf.org/rfc/rfc2965.txt" id="RFC2965" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">HTTP State Management Mechanism</titleref>, D. Kristol, L. Montulli Authors. Internet Engineering
	    Task Force, October 2000. Available at
	    http://www.ietf.org/rfc/rfc2965.txt.
	  </bibl>
          <bibl key="IETF RFC 3023" href="http://www.ietf.org/rfc/rfc3023.txt" id="RFC3023" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Media Types</titleref>, M. Murata,
	    S. St. Laurent, D. Kohn, Authors.  Internet Engineering Task
	    Force, January 2001.  Available at
	    http://www.ietf.org/rfc/rfc3023.txt.
	  </bibl>
          <bibl key="IETF RFC 3205" href="http://www.ietf.org/rfc/rfc3205.txt" id="RFC3205" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">On the use of HTTP as a Substrate</titleref>, K. Moore, Authors.  Internet Engineering Task
	    Force, February 2002.  Available at
	    http://www.ietf.org/rfc/rfc3205.txt.
	  </bibl>
          <bibl id="RFC3986" key="IETF RFC 3986" href="http://www.ietf.org/rfc/rfc3986.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Uniform Resource Identifiers (URI): Generic
	    Syntax</titleref>, T. Berners-Lee, R. Fielding, L. Masinter,
	    Authors. Internet Engineering Task Force, January 2005. Available at http://www.ietf.org/rfc/rfc3986.txt.
	  </bibl>
          <bibl id="RFC3987" key="IETF RFC 3987" href="http://www.ietf.org/rfc/rfc3987.txt" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Internationalized Resource Identifiers
            (IRIs)</titleref>, M. Duerst, M. Suignard,
            Authors. Internet Engineering Task Force, January
            2005. Available at http://www.ietf.org/rfc/rfc3987.txt.
	  </bibl>
          <bibl id="XForms10" key="XForms 1.0" href="http://www.w3.org/TR/2003/REC-xforms-20031014/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XForms 1.0</titleref>, M. Dubinko, et al.,
	    Editors. World Wide Web Consortium, 14 October 2003. This
	    version of the XForms 1.0 Recommendation is
	    http://www.w3.org/TR/2003/REC-xforms-20031014/. The <loc href="http://www.w3.org/TR/xforms/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of XForms
	    1.0</loc> is available at http://www.w3.org/TR/xforms/.
	  </bibl>
          <bibl id="SOAP12-PART1" key="SOAP 1.2 Part 1: Messaging Framework" href="http://www.w3.org/TR/2003/REC-soap12-part1-20030624/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">SOAP Version 1.2 Part 1: Messaging
	    Framework</titleref>, 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
	    <loc href="http://www.w3.org/TR/soap12-part1/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	    version of "SOAP Version 1.2 Part 1: Messaging
	    Framework"</loc> is available at
	    http://www.w3.org/TR/soap12-part1/.
	  </bibl>
          <bibl id="SOAP12-PART2" key="SOAP 1.2 Part 2: Adjuncts" href="http://www.w3.org/TR/2003/REC-soap12-part2-20030624/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">SOAP Version 1.2 Part 2: Adjuncts</titleref>,
	    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
	    <loc href="http://www.w3.org/TR/soap12-part2/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
	    version of "SOAP Version 1.2 Part 2: Adjuncts"</loc> is
	    available at http://www.w3.org/TR/soap12-part2/.
	  </bibl>
	  <bibl id="webarch" key="Web Architecture" href="http://www.w3.org/TR/2004/REC-webarch-20041215/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Architecture of the World Wide Web, Volume
	    One</titleref>, I. Jacobs, and N. Walsh, Editors. World
	    Wide Web Consortium, 15 December 2004.  This version of
	    the "Architecture of the World Wide Web, Volume One"
	    Recommendation is
	    http://www.w3.org/TR/2004/REC-webarch-20041215/. The <loc href="http://www.w3.org/TR/webarch/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    "Architecture of the World Wide Web, Volume One"</loc> is
	    available at http://www.w3.org/TR/webarch/.
	  </bibl>
        <bibl id="wsarch" key="Web Services Architecture" href="http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
        	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Architecture</titleref>,
        	David Booth, Hugo Haas, Francis McCabe, Eric Newcomer, Michael Champion, Chris Ferris, David Orchard, Editors.
        	World Wide Web Consortium,
        	11 February 2004.
		This version of the
		"Web Services Architecture" Working Group Note is
	    http://www.w3.org/TR/2004/NOTE-ws-arch-20040211/. The <loc href="http://www.w3.org/TR/ws-arch/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    "Web Services Architecture"</loc> is available at
	    http://www.w3.org/TR/ws-arch/.
        </bibl>
          <bibl key="WSDL 2.0 Core Language" href="http://www.w3.org/TR/2006/CR-wsdl20-20060327" id="WSDL-PART1" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language</titleref>, R. Chinnici, M. Gudgin, J-J. Moreau,
	    S. Weerawarana, Editors. World Wide Web Consortium,
	    27 March
            2006. 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/2006/CR-wsdl20-20060327. The <loc href="http://www.w3.org/TR/wsdl20" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of "Web Services Description Language (WSDL) Version 2.0 Part 1: Core Language"</loc> is available at
	    http://www.w3.org/TR/wsdl20.
	  </bibl>
          <bibl id="XML10" key="XML 1.0" href="http://www.w3.org/TR/2004/REC-xml-20040204/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Extensible Markup Language (XML) 1.0 (Third
	    Edition)</titleref>, T. Bray, J. Paoli,
	    C. M. Sperberg-McQueen, E. Maler, and F. Yergeau, Editors. World Wide
	    Web Consortium, 4 February 2004. This version of the XML 1.0 Recommendation is
	    http://www.w3.org/TR/2004/REC-xml-20040204/. The <loc href="http://www.w3.org/TR/REC-xml" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of "Extensible Markup Language (XML) 1.0"</loc> is available at http://www.w3.org/TR/REC-xml.
	  </bibl>
          <bibl id="XMLInfoSet" key="XML Information Set" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Information Set (Second Edition)</titleref>, 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 <loc href="http://www.w3.org/TR/xml-infoset" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	      XML Information Set</loc> is available at
	    http://www.w3.org/TR/xml-infoset.
	  </bibl>
          <!--
	  <bibl id='XMLNS' key='XML Namespaces'
	   
	   
	   
	    href='http://www.w3.org/TR/1999/REC-xml-names-19990114'>
	    <titleref>Namespaces in XML</titleref>, T. Bray, D.
	    Hollander, and A. Layman, Editors. World Wide Web
	    Consortium, 14 January 1999. This version of the XML
	    Information Set Recommendation is
	    http://www.w3.org/TR/1999/REC-xml-names-19990114. The <loc
	    href='http://www.w3.org/TR/REC-xml-names'>latest version of
	    Namespaces in XML</loc> is available at
	    http://www.w3.org/TR/REC-xml-names.
	  </bibl>
-->
          <bibl id="XMLSchemaP1" key="XML Schema Structures" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Schema Part 1: Structures Second Edition</titleref>,
	    H. Thompson, D. Beech, M. Maloney, and N. Mendelsohn,
	    Editors. World Wide Web Consortium, 28 October 2004. This version
	    of the XML Schema Part 1 Recommendation is
	    http://www.w3.org/TR/2004/REC-xmlschema-1-20041028. The <loc href="http://www.w3.org/TR/xmlschema-1/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    XML Schema Part 1</loc> is available at
	    http://www.w3.org/TR/xmlschema-1.
	  </bibl>
          <bibl key="XML Schema Datatypes" id="XMLSchemaP2" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">XML Schema Part 2: Datatypes Second Edition</titleref>, P. Byron
	    and A. Malhotra, Editors. World Wide Web Consortium, 28
	    October 2004.  This version of the XML Schema Part 2 Recommendation is
	    http://www.w3.org/TR/2004/REC-xmlschema-2-20041028. The <loc href="http://www.w3.org/TR/xmlschema-2/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest version of
	    XML Schema Part 2</loc> is available at
	    http://www.w3.org/TR/xmlschema-2.
	  </bibl>
        </blist>
      </div2>
      <div2 id="Informative-References">
        <head>Informative References</head>
        <blist>
          <bibl id="MTOM" key="SOAP Message Transmission Optimization Mechanism" href="http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">SOAP Message Transmission Optimization
            Mechanism</titleref>, N. Mendelsohn, M. Nottingham, and
            H. Ruellan, Editors. World Wide Web Consortium, W3C
            Recommendation, 25 January 2005. This version of SOAP
            Message Transmission Optimization Mechanism is
            http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/. The
            <loc href="http://www.w3.org/TR/soap12-mtom/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">latest
            version of the "SOAP Message Transmission Optimization
            Mechanism" document</loc> is available from
            http://www.w3.org/TR/soap12-mtom/.
	  </bibl>
          <bibl key="WSA 1.0 Core" href="http://www.w3.org/TR/2005/CR-ws-addr-core-20050817/" id="WSA-Core" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
            <titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">Web Services Addressing 1.0 - Core</titleref>
            , M. Gudgin, M. Hadley, Editors. World Wide Web Consortium,
            17 August 2005<!--&draft.day; &draft.month; &draft.year;-->. This
            version of Web Services Addressing 1.0 - Core is
	    http://www.w3.org/TR/2005/CR-ws-addr-core-20050817/
            The latest version of the "Web Services Addressing 1.0 - Core"
	    document is available from http://www.w3.org/TR/ws-addr-core.
	  </bibl>
	  <bibl key="WSDL 2.0 Primer" href="http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327" id="WSDL-PART0" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  	<titleref xlink:type="simple" xlink:show="new" xlink:actuate="onRequest">
		  Web Services Description Language (WSDL) Version 2.0 Part 0: Primer
	  	</titleref>, D.Booth, C.K. Liu , Editors.  World
	  	Wide Web Consortium, 27 March
	  	2006.  This version of the "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer"
	  	Specification is available at
	  	http://www.w3.org/TR/2006/CR-wsdl20-primer-20060327. The
	  	<loc href="http://www.w3.org/TR/wsdl20-primer" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	  		latest version of "Web Services Description Language (WSDL) Version 2.0 Part 0: Primer"
	  	</loc>
	  	is available at
	  	http://www.w3.org/TR/wsdl20-primer.
	  </bibl>
        </blist>
      </div2>
    </div1>
  </body>
  <back>

    
<inform-div1 id="acknowledgments">
  <head>Acknowledgements</head>
  <p>This document is the work of the <loc href="http://www.w3.org/2002/ws/desc/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">W3C Web Service
      Description Working Group</loc>.</p>
  <p>Members of the Working Group are (at the time of writing, and by
      alphabetical order):
      Rebecca Bergersen
	(IONA Technologies), Allen Brookes
	(Rogue Wave Softwave), Dave Chappell
	(Sonic Software), Helen Chen
	(Agfa-Gevaert N. V.), Roberto Chinnici
	(Sun Microsystems), Kendall Clark
	(University of Maryland), Ugo Corda
	(SeeBeyond), Glen Daniels
	(Sonic Software), Paul Downey
	(British Telecommunications), Youenn Fablet
	(Canon), Hugo Haas
	(W3C), Tom Jordahl
	(Macromedia), Anish Karmarkar
	(Oracle Corporation), Jacek Kopecky
	(DERI Innsbruck at the Leopold-Franzens-Universität
      Innsbruck, Austria), Amelia Lewis
	(TIBCO Software, Inc.), Michael Liddy
	(Education.au Ltd.), Kevin Canyang Liu
	(SAP AG), Jonathan Marsh
	(Microsoft Corporation), Josephine Micallef
	(SAIC - Telcordia Technologies), Jeff Mischkinsky
	(Oracle Corporation), Dale Moberg
	(Cyclone Commerce), Jean-Jacques Moreau
	(Canon), Mark Nottingham
	(BEA Systems, Inc.), David Orchard
	(BEA Systems, Inc.), Vivek Pandey
	(Sun Microsystems), Bijan Parsia
	(University of Maryland), Gilbert Pilz
	(BEA Systems, Inc.), Tony Rogers
	(Computer Associates), Arthur Ryman
	(IBM), Adi Sakala
	(IONA Technologies), Asir Vedamuthu
	(Microsoft Corporation), Sanjiva Weerawarana
	(WSO2), Ümit Yalçınalp
	(SAP AG).</p>
  <p>Previous members were:
      Lily Liu
	(webMethods, Inc.), Don Wright
	(Lexmark), Joyce Yang
	(Oracle Corporation), Daniel Schutzer
	(Citigroup), Dave Solo
	(Citigroup), Stefano Pogliani
	(Sun Microsystems), William Stumbo
	(Xerox), Stephen White
	(SeeBeyond), Barbara Zengler
	(DaimlerChrysler Research and Technology), Tim Finin
	(University of Maryland), Laurent De Teneuille
	(L'Echangeur), Johan Pauhlsson
	(L'Echangeur), Mark Jones
	(AT&amp;T), Steve Lind
	(AT&amp;T), Sandra Swearingen
	(U.S. Department of Defense, U.S. Air Force), Philippe Le Hégaret
	(W3C), Jim Hendler
	(University of Maryland), Dietmar Gaertner
	(Software AG), Michael Champion
	(Software AG), Don Mullen
	(TIBCO Software, Inc.), Steve Graham
	(Global Grid Forum), Steve Tuecke
	(Global Grid Forum), Michael Mahan
	(Nokia), Bryan Thompson
	(Hicks &amp; Associates), Ingo Melzer
	(DaimlerChrysler Research and Technology), Sandeep Kumar
	(Cisco Systems), Alan Davies
	(SeeBeyond), Jacek Kopecky
	(Systinet), Mike Ballantyne
	(Electronic Data Systems), Mike Davoren
	(W. W. Grainger), Dan Kulp
	(IONA Technologies), Mike McHugh
	(W. W. Grainger), Michael Mealling
	(Verisign), Waqar Sadiq
	(Electronic Data Systems), Yaron Goland
	(BEA Systems, Inc.), Ümit Yalçınalp
	(Oracle Corporation), Peter Madziak
	(Agfa-Gevaert N. V.), Jeffrey Schlimmer
	(Microsoft Corporation), Hao He
	(The Thomson Corporation), Erik Ackerman
	(Lexmark), Jerry Thrasher
	(Lexmark), Prasad Yendluri
	(webMethods, Inc.), William Vambenepe
	(Hewlett-Packard Company), David Booth
	(W3C), Sanjiva Weerawarana
	(IBM), Charlton Barreto
	(webMethods, Inc.), Asir Vedamuthu
	(webMethods, Inc.), Igor Sedukhin
	(Computer Associates), Martin Gudgin
	(Microsoft Corporation).</p>
  <p>The people who have contributed to <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">discussions
      on www-ws-desc@w3.org</loc> are also gratefully
      acknowledged.</p>
</inform-div1>


    <inform-div1 id="component_summary">
    	<head>Component Summary</head>
    	<p>
    		<specref ref="component-summary"/>
    		lists all the components in the WSDL 2.0 Adjuncts abstract Component
    		Model, and all their properties.
    	</p>
    	<table width="100%" id="component-summary" border="1">
    		<caption>
    			Summary of WSDL 2.0 Adjuncts Components and their
    			Properties
    		</caption>
    		<col width="20%" span="1"/>
    		<col width="80%" span="1"/>
    		
<tbody>
  <tr>
    <th rowspan="1" colspan="1">Component</th>
    <th rowspan="1" colspan="1">Defined Properties</th>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Binding</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Binding">http
	      transfer coding default</prop>, <prop comp="Binding">http cookies</prop>, <prop comp="Binding">http method default</prop>, <prop comp="Binding">http query parameter
              separator default</prop>, <prop comp="Binding">soap mep
            default</prop>, <prop comp="Binding">soap modules</prop>, <prop comp="Binding">soap underlying
            protocol</prop>, <prop comp="Binding">soap version</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Binding Fault</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Binding Fault">http error status code</prop>, <prop comp="Binding Fault">http headers</prop>, <prop comp="Binding Fault">http transfer coding</prop>, <prop comp="Binding Fault">soap fault code</prop>, <prop comp="Binding Fault">soap fault subcodes</prop>, <prop comp="Binding Fault">soap headers</prop>, <prop comp="Binding Fault">soap modules</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Binding Fault Reference</comp>
    </td>
    <td rowspan="1" colspan="1">
      <prop comp="Binding Fault Reference">soap modules</prop>
    </td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Binding Message Reference</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Binding Message Reference">http headers</prop>, <prop comp="Binding Message Reference">http transfer coding</prop>, <prop comp="Binding Message Reference">soap headers</prop>, <prop comp="Binding Message Reference">soap modules</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Binding Operation</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Binding Operation">http
	      location</prop>, <prop comp="Binding Operation">http
	      transfer coding default</prop>, <prop comp="Binding Operation">http fault serialization</prop>, <prop comp="Binding Operation">http input
	      serialization</prop>, <prop comp="Binding Operation">http location ignore uncited</prop>, <prop comp="Binding Operation">http method</prop>, <prop comp="Binding Operation">http output serialization</prop>, <prop comp="Binding Operation">http query parameter separator</prop>, <prop comp="Binding Operation">soap action</prop>, <prop comp="Binding Operation">soap mep</prop>, <prop comp="Binding Operation">soap modules</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Endpoint</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Endpoint">http authentication realm</prop>, <prop comp="Endpoint">http authentication scheme</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>HTTP Header</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="HTTP Header">name</prop>, <prop comp="HTTP Header">parent</prop>, <prop comp="HTTP Header">required</prop>, <prop comp="HTTP Header">type definition</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>Interface Operation</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="Interface Operation">rpc signature</prop>, <prop comp="Interface Operation">safety</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>SOAP Header Block</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="SOAP Header Block">element declaration</prop>, <prop comp="SOAP Header Block">mustUnderstand</prop>, <prop comp="SOAP Header Block">parent</prop>, <prop comp="SOAP Header Block">required</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <comp>SOAP Module</comp>
    </td>
    <td rowspan="1" colspan="1"><prop comp="SOAP Module">parent</prop>, <prop comp="SOAP Module">ref</prop>, <prop comp="SOAP Module">required</prop></td>
  </tr>
  <tr>
    <th rowspan="1" colspan="1">Property</th>
    <th rowspan="1" colspan="1">Where Defined</th>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">element declaration</td>
    <td rowspan="1" colspan="1">SOAP Header Block.<prop comp="SOAP Header Block">element declaration</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http authentication realm</td>
    <td rowspan="1" colspan="1">Endpoint.<prop comp="Endpoint">http authentication realm</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http authentication scheme</td>
    <td rowspan="1" colspan="1">Endpoint.<prop comp="Endpoint">http authentication scheme</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http cookies</td>
    <td rowspan="1" colspan="1">Binding.<prop comp="Binding">http cookies</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http error status code</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">http error status code</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http fault serialization</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">http fault serialization</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http headers</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">http headers</prop>, Binding Message Reference.<prop comp="Binding Message Reference">http headers</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http location ignore uncited</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">http location ignore uncited</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http method</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">http method</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http method default</td>
    <td rowspan="1" colspan="1">Binding.<prop comp="Binding">http method default</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http output serialization</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">http output serialization</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http query parameter separator</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">http query parameter separator</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">http transfer coding</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">http transfer coding</prop>, Binding Message Reference.<prop comp="Binding Message Reference">http transfer coding</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">mustUnderstand</td>
    <td rowspan="1" colspan="1">SOAP Header Block.<prop comp="SOAP Header Block">mustUnderstand</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">name</td>
    <td rowspan="1" colspan="1">HTTP Header.<prop comp="HTTP Header">name</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">parent</td>
    <td rowspan="1" colspan="1">HTTP Header.<prop comp="HTTP Header">parent</prop>, SOAP Header Block.<prop comp="SOAP Header Block">parent</prop>, SOAP Module.<prop comp="SOAP Module">parent</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">ref</td>
    <td rowspan="1" colspan="1">SOAP Module.<prop comp="SOAP Module">ref</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">required</td>
    <td rowspan="1" colspan="1">HTTP Header.<prop comp="HTTP Header">required</prop>, SOAP Header Block.<prop comp="SOAP Header Block">required</prop>, SOAP Module.<prop comp="SOAP Module">required</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">rpc signature</td>
    <td rowspan="1" colspan="1">Interface Operation.<prop comp="Interface Operation">rpc signature</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">safety</td>
    <td rowspan="1" colspan="1">Interface Operation.<prop comp="Interface Operation">safety</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap action</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">soap action</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap fault code</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">soap fault code</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap fault subcodes</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">soap fault subcodes</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap headers</td>
    <td rowspan="1" colspan="1">Binding Fault.<prop comp="Binding Fault">soap headers</prop>, Binding Message Reference.<prop comp="Binding Message Reference">soap headers</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap mep</td>
    <td rowspan="1" colspan="1">Binding Operation.<prop comp="Binding Operation">soap mep</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap modules</td>
    <td rowspan="1" colspan="1">Binding.<prop comp="Binding">soap modules</prop>, Binding Fault.<prop comp="Binding Fault">soap modules</prop>, Binding Fault Reference.<prop comp="Binding Fault Reference">soap modules</prop>, Binding Message Reference.<prop comp="Binding Message Reference">soap modules</prop>, Binding Operation.<prop comp="Binding Operation">soap modules</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">soap version</td>
    <td rowspan="1" colspan="1">Binding.<prop comp="Binding">soap version</prop></td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">type definition</td>
    <td rowspan="1" colspan="1">HTTP Header.<prop comp="HTTP Header">type definition</prop></td>
  </tr>
</tbody>

    	</table>
    </inform-div1>

    <inform-div1 id="changelog">
      <head>Part 2 Change Log</head>
        <table id="wsdl-spec-changelog-table" border="1" width="100%">
        <col width="10%" span="1"/>
        <col width="10%" span="1"/>
        <col width="80%" span="1"/>
          <tbody>
            <tr>
              <th rowspan="1" colspan="1">Date</th>
              <th rowspan="1" colspan="1">Author</th>
              <th rowspan="1" colspan="1">Description</th>
            </tr>
	    <!-- template
            <tr>
	      <td>200506</td>
	      <td></td>
	      <td></td>
	    </tr>
	    -->

	    <tr>
	      <td rowspan="1" colspan="1">20060309</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR014" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">CR014</loc>:
	      <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2006Feb/0059" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">clarification about SOAP underlying protocol</loc>
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20060309</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR013" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">CR013</loc>:
	      relaxed IRI style element cardinality
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20060309</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR011" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">CR011</loc>:
	      removed {http version}
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20060227</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/cr-issues/issues.html#CR010" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">CR010</loc>:
	      removed slash notation left-over
	      </td>
	    </tr>

	    <tr>
	    	<td rowspan="1" colspan="1">20060209</td>
	    	<td rowspan="1" colspan="1">HH</td>
	    	<td rowspan="1" colspan="1">
		  Added test assertions to HTTP binding.
	    	</td>
	    </tr>
	    <tr>
	    	<td rowspan="1" colspan="1">20060110</td>
	    	<td rowspan="1" colspan="1">AGR</td>
	    	<td rowspan="1" colspan="1">
	    		Applied patch,
	    		<loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2006Jan/0018.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">
	    			Re: WSDL 2.0 adjuncts assertions
	    		</loc>
	    		, posted by Lawrence Mandel, 2006-01-09.
	    	</td>
	    </tr>
	    
	    <tr>
	      <td rowspan="1" colspan="1">20051122</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC359" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC359</loc>:
	      moved transfer coding from binding fault ref to binding fault in XML representations
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051117</td>
	      <td rowspan="1" colspan="1">JJM</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC358" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC358</loc>:
	      fixed formatting in some examples.
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051113</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC359" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC359</loc>:
	      moved transfer coding from binding fault ref to binding fault
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051111</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1">Added SOAP MEP / WSDL MEP mapping as per
	      <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005Nov/0022.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc>
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051111</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC333" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC333</loc>:
	      implemented <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005Oct/0051.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">resolution</loc> to accommodate interfaceless bindings
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051111</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC362" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC362</loc>:
	      added URI to fault propagation rules
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051111</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC337" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC337</loc>:
	      added media type range
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20051111</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC305" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC305</loc>:
	      added reference to BNF pseudo-schemas in Part 1
	      </td>
	    </tr>

	    <tr>
	    	<td rowspan="1" colspan="1">20051111</td>
	    	<td rowspan="1" colspan="1">AGR</td>
	    	<td rowspan="1" colspan="1">Added assertion tables. Added Fault Propagation Rule assertions.</td>
	    </tr>

            <tr>
	      <td rowspan="1" colspan="1">20051110</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC304" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC304</loc>:
	      implemented <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005Oct/0063.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">proposal</loc>
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051110</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC345" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC345</loc>:
	      allowed POST as application/x-www-form-urlencoded and reorganized HTTP binding serializations
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051109</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC301" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC301</loc>:
	      specified that {soap action} is for the initial message of an operation
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC339" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC339</loc>:
	      added <att>required</att> attribute to wsoap:header and whttp:header
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC340" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC340</loc>:
	      clarified cardinality of headers
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC331" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC331</loc>:
	      if the {message content model} property is "#any" in the
	      HTTP binding, then the payload MUST be any one XML
	      element.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC330" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC330</loc>:
	      operation styles mandate that the {message
	      content model} of the operation's messages is "#element"
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC329" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC329</loc>:
	      we do now have default rules for binding faults
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC327" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC327</loc>:
	      made both HTTP authentication properties optional
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC326" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC326</loc>:
	      changed type of {http authentication scheme}
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051027</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC315" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC315</loc>:
	      fixed HTTP header serialization and IRI identification.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051020</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC319" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC319</loc>:
	      implemented <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005Sep/0012.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">detailed resolution</loc>.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051020</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC342" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC342</loc>:
	      fixed typos
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051020</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC349" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC349</loc>:
	      improved section 2's introduction
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051013</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC334" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC334</loc>:
	      removed HTTP error reason phrase
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051013</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1">Fixed mark-up for declaring {soap modules}, {soap headers} and {http headers}</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051013</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC321" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC323</loc>:
	      removed text on HTTP Accept headers.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051013</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC321" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC321</loc>:
	      clarified {soap mep} error.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20051012</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC344" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC344(5)</loc>:
	      changed order of union member types in the schema for the
              wrpc:signature extension
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC341" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC341</loc>:
	      renamed {element} into {element declaration} and fixed typo
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC318" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC318</loc>:
	      reorganized default declarations in bindings
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC320" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC320</loc>:
	      added {parent} property to nested components
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC317" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC317</loc>:
	      clarified applicability of application/x-www-url-encoded
	      and multipart/form-data
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC314" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC314</loc>:
	      completed introduction
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC306" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC306</loc>:
	      wsdlx declaration clarification.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC322" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC322</loc>:
	      section 6.3 Default Binding Rules clarification.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC324" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC324</loc>:
	      fixed queryParameterSeparatorDefault and
	      queryParameterSeparator definitions.
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC325" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC325</loc>:
	      fixed typo in <att>transferCodingDefault</att> definition.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC313" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC313</loc>:
	      made {soap action}, {http location}, {http error reason
	      phrase}, {http transfer coding} properties
	      optional; did not do {soap fault subcodes} because of LC319.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050923</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC312" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC312</loc>:
	      fixed typo in Section 2. Predefined Message Exchange Patterns.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050902</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/5/lc-issues/issues.html#LC316" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC316</loc>:
	      Added definition of wrpc namespace in section 1.1 and
	      changed wording of reference to example 4-1 in section 4.1.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050728</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76d</loc>:
	      spelled out conflict between mustUnderstand use and
	      schema definition; clarified mustUnderstand definition.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050728</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1">Clarified {soap action} scope for SOAP 1.2 binding.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050728</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76c" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76c</loc>:
	      added security consideration section.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050725</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC75f" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC75f</loc>:
	      allowed extension attributes on RPC-style input/output elements.</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050707</td>
	      <td rowspan="1" colspan="1">aal</td>
	      <td rowspan="1" colspan="1">Modified 2.2.2 per text supplied by Jean-Jacques.</td>
	    </tr>
            <tr>
              <td rowspan="1" colspan="1">20050616</td>
              <td rowspan="1" colspan="1">AGR</td>
              <td rowspan="1" colspan="1">Fixed component table.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050616</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added markup to list all the components and properties used in Part 2
                 (although this currently [wrongly] shows those of Part 1).
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050616</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Fixed wrong component names for properties. Renamed HTTP Header Block to HTTP Header.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050614</td>
              <td rowspan="1" colspan="1">RRC</td>
              <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76a</loc>: 
    	      Added comment requested by reviewer.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050615</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Further pass at adding markup for properties. Fixed issues with entities preventing validation.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050615</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added &lt;propdef&gt; and &lt;prop&gt; markup around properties.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050614</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Finished adding &lt;comp&gt; markup around components.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050613</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Started adding &lt;comp&gt; markup around components.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050613</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC122" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC122</loc>: 
    	      replaced "binding" by "binding extension" where appropriate.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050613</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC98" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC98</loc>: 
    	      {soap mep} only applies to SOAP 1.2.
              </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050613</td>
              <td rowspan="1" colspan="1">RRC</td>
              <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC74c" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC74c</loc>: 
    	      changed <el>documentation</el> element cardinality to zero or more.
              </td>
            </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050606</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC79" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC79</loc>
	      &amp; <loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC102" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC102</loc>:
	      added editors note about one-way MEP defaulting for SOAP 1.2
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20050606</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC130" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC130</loc>:
	      <code>wsoap:code</code> is now optional, and aligned
	      <code>whttp:code</code> 
	      </td>
	    </tr>

	    <tr>
	      <td rowspan="1" colspan="1">20050602</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC75c" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC75c</loc>:
	      introduced wsdlx namespace, moved safety to Part 2.</td>
	    </tr>
    
        <tr>
	      <td rowspan="1" colspan="1">20050527</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC74a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC74a</loc>:
	      switched to IRIs</td>
	</tr>
        <tr>
	      <td rowspan="1" colspan="1">20050527</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC80" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC80</loc>:
	      defined fragment identifiers for defined components <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005May/0035.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">as
	      proposed</loc></td>
	</tr>
        <tr>
	      <td rowspan="1" colspan="1">20050520</td>
	      <td rowspan="1" colspan="1">JJM</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC97" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC97</loc>:
	      Fixed specifying default values throughout the spec. Resolved incoherencies along the way.</td>
	    </tr>
        <tr>
	      <td rowspan="1" colspan="1">20050519</td>
	      <td rowspan="1" colspan="1">aal</td>
	      <td rowspan="1" colspan="1">added template to guide readers when defining new message exchange
                  patterns.</td>
	    </tr>
        <tr>
	      <td rowspan="1" colspan="1">20050512</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC110" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC110</loc>:
	      referenced RFC2616 for <att>whttp:version</att></td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050512</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC77a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC77a</loc>:
	      clarified namespace and local name serialization in
	      <code>application/x-www-url-encoded</code> serialization</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050509</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC118" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC118</loc>:
              Added clarification to step 2 of the algorithm to
              compute the function signature for an operation that
              uses the wrpc:signature extension.
              </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050509</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC89a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC89a</loc>:
              Added conformance requirement for RPC style.
              </td>
	    </tr>
            <tr>
              <td rowspan="1" colspan="1">20050505</td>
              <td rowspan="1" colspan="1">aal</td>
              <td rowspan="1" colspan="1">LC52c: state that soap faults have no reasonable default.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20050505</td>
              <td rowspan="1" colspan="1">aal</td>
              <td rowspan="1" colspan="1">LC76a: allow extensions to override faults in rulesets;
                  LC76b: define "propagate" in rulesets.</td>
            </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050429</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC97" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC97</loc>:
              Made the setting of default values for properties more consistent.
              </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050429</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC75g" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC75g</loc>:
              RPC should allows element wildcards
              </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050422</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC75d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC75d</loc>:
	      RPC style; same input and output elements need named
	      type</td>
	    </tr>
	     <tr>
	      <td rowspan="1" colspan="1">20050420</td>
	      <td rowspan="1" colspan="1">JJM</td>
	      <td rowspan="1" colspan="1">Fixed typos in RPC section (part of LC78).</td>
	    </tr>
	     <tr>
	      <td rowspan="1" colspan="1">20050413</td>
	      <td rowspan="1" colspan="1">AV</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76d</loc>: made changes
	      to <code>wsoap:header</code> and <code>whttp:header</code> (removed required and changed default binding rules)</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050412</td>
	      <td rowspan="1" colspan="1">RRC</td>
	      <td rowspan="1" colspan="1">LC75h: added note on multiple return values in rpc style</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050415</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC28" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC28</loc>:
	      ignoring transfer coding for HTTP/1.0</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050408</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC17" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC17</loc>:
	      added order preservation in
	      <code>application/x-www-url-encoded</code> serialization</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050408</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC69a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC69a</loc>:
	      added <att>whttp:queryParameterSeparator</att></td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050408</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC47" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC47</loc>:
	      added <att>whttp:reasonPhrase</att></td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050408</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76d</loc>:
	      added <att>whttp:header</att></td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050408</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1">
		Added <el>wsoap:module</el> at the Binding Fault component
		model as per <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2005Apr/0037.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">2005-04-07 telcon</loc>
	      </td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050407</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC7" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC7</loc>:
	      fixed RPC style glitches</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050406</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC76d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC76d</loc>:
	      added <att>wsoap:header</att></td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050331</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC106" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC106</loc>:
	      URI and Multipart styles are placing restrictions on the
	      initial message of the MEP</td>
	    </tr>
            <tr>
	      <td rowspan="1" colspan="1">20050331</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC111" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC111</loc>:
	      added reference to section 8 of RFC3205 for use of HTTP
	      error codes</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050321</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC48b" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC48b</loc>:
	      added link between WSDL and SOAP 1.2 MEPs in predefined
	      MEPs section</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050321</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC74d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC74d</loc>:
	      removed constraint on LocalPart of the output element in
	      RPC style</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050321</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC108" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC108</loc>:
	      fixed typo and added missing {soap modules} XML
	      mapping</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050321</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC88" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC88</loc>: fixed typo</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050317</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC61a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC61a</loc>: Incorporated RPC style</td>
	    </tr>
	    <tr>
	      <td rowspan="1" colspan="1">20050316</td>
	      <td rowspan="1" colspan="1">HH</td>
	      <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC61a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC61a</loc>: Merged the old part 2 and part 3 documents</td>
	    </tr>
	  </tbody>
	</table>

      <div2>
      <head>WSDL 2.0 Extensions Change Log</head>

      <table id="wsdl-changelog-table" border="1">
  <tbody>
    <tr>
      <th rowspan="1" colspan="1">Date</th>
      <th rowspan="1" colspan="1">Author</th>
      <th rowspan="1" colspan="1">Description</th>
    </tr>
    	<tr>
    		<td rowspan="1" colspan="1">20050613</td>
    		<td rowspan="1" colspan="1">JJM</td>
    		<td rowspan="1" colspan="1">
    			<loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC122" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC122</loc>: 
    			Replaced "binding" by "binding extension" where appropriate.
    		</td>
    	</tr>
        <tr>
           <td rowspan="1" colspan="1">20050222</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">Implement editorial changes for LC39, LC40, LC48c.</td>
        </tr>
    	<tr>
    		<td rowspan="1" colspan="1">20050220</td>
    		<td rowspan="1" colspan="1">AGR</td>
    		<td rowspan="1" colspan="1">
    			<loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC50" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC50</loc>: 
    			Adopt <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2004Nov/0070.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">proposal</loc> 
    			for definition of "node", adding "Note:" before second sentence.
    		</td>
    	</tr>
        <tr>
           <td rowspan="1" colspan="1">20041209</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">add clarifying language for fault propagation, per LC54/76.</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">implement editorial changes requested after review by
           GlenD, in application data feature and module.</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">address issues 233 &amp; 112 all at once, by increasing level 
           of all divs, adding new intro
           div, adding new div to contain features, renaming spec.  Lotsa
           changes, what fun.</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">s/Label/Message Label/g and s/{label}/{message label}/g.
           issue 230.</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">replace "fault generation" with "fault propagation" (in almost
           all cases; one case of "generate" remains to indicate that it ends
           an exchange).  issue 234.</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">add language to introduction describing relationship between
               these MEPs and the MEPs defined by SOAP 1.2 (issue 232).  This
               replaces the language found two items down (issue 191).</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040713</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">add (hereafter, simply 'patterns') to intro (issue 231).</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040610</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">add language to introduction describing relationship between
               these MEPs and the MEPs defined by SOAP 1.2 (issue 191).</td>
        </tr>
        <tr>
           <td rowspan="1" colspan="1">20040225</td>
           <td rowspan="1" colspan="1">aal</td>
           <td rowspan="1" colspan="1">add in-optional-out per minutes of 20 feb 2004 telecon</td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20040212</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          change {messageReference} to {label} and "Message Reference
          component" to "Label component" per 20040212 teleconference
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20040205</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          change all 'A' and 'B' message labels into 'Out' or 'In',
          depending upon direction.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20040205</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          s/message pattern/message exchange pattern/gi
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031204</td>
          <td rowspan="1" colspan="1">jcs</td>
          <td rowspan="1" colspan="1">
          Removed change marks; note that some were on div2 tag and
          did not show when transformed into HTML.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031204</td>
          <td rowspan="1" colspan="1">jcs</td>
          <td rowspan="1" colspan="1">
          Per 4 Dec 2003 telecon, decided to rename 'Asynchronous
          Out-In' pattern to 'Output-Optional-Input'.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031105</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          Fix titles of added patterns.  Move them to be in conjunction
          with similar patterns.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031022</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          Per action item from October 16 teleconference, added the three
          patterns using message-triggers-fault as published on the mailing
          list (robust-in-only, robust-out-only, asynch-out-in).
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031022</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          Added internal linkage (using specref) from patterns to the fault
          rulesets which they use.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031022</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          Per 9 and 16 Oct 2003 teleconferences, marked in-multi-out and
          out-multi-in patterns deleted.
          </td>
        </tr>
        <tr>
          <td rowspan="1" colspan="1">20031022</td>
          <td rowspan="1" colspan="1">aal</td>
          <td rowspan="1" colspan="1">
          Per 16 Oct 2003 teleconference, added a paragraph/sentence stating
          that generation of a fault terminates an exchange.
          </td>
        </tr>
	<tr>
	  <td rowspan="1" colspan="1">20031007</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">
	  Per 2 Oct 2003 teleconference, changed "broadcast" to
	  "multicast" in the introduction.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030922</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">
	  Per 22 Sep 2003 meeting in Palo Alto, CA, removed "Pattern
	  Review" editorial note; added specific editorial notes
	  for In-Multi-Out and Out-Multi-In.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030911</td>
	  <td rowspan="1" colspan="1">RRC</td>
	  <td rowspan="1" colspan="1">Changed the "name" property of the message reference component
	      to "messageReference".
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030904</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Incorporated clarifications suggested by W3C\David Booth.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030801</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Per 30 July meeting, added recommendations from
	  patterns task force.
	  </td>
	</tr>
        <tr>
          <td rowspan="1" colspan="1">20030612</td>
          <td rowspan="1" colspan="1">AAL</td>
          <td rowspan="1" colspan="1">Added fault generation rulesets and references to them from
patterns.</td>
        </tr>
	<tr>
	  <td rowspan="1" colspan="1">20030313</td>
	  <td rowspan="1" colspan="1">MJG</td>
	  <td rowspan="1" colspan="1">Changed to Part 2 ( from Part 3 )
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030306</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Proposed name for MEP7.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030305</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Per 4 Mar 03 meeting,
		renamed 'message exchange pattern' to 'message pattern' or 'pattern',
		added pattern for request-response,
		added ednote about review of patterns.
	  </td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030217</td>
	  <td rowspan="1" colspan="1">MJG</td>
	  <td rowspan="1" colspan="1">Fixed some issues with entities and validity errors
	  WRT ulists</td>
	</tr>
	<tr>
	  <td rowspan="1" colspan="1">20030212</td>
	  <td rowspan="1" colspan="1">JCS</td>
	  <td rowspan="1" colspan="1">Initial draft</td>
	</tr>
  </tbody>
</table>

      </div2>

      <div2>
      <head>WSDL 2.0 Bindings Change Log</head>
        <table id="wsdl-spec3-changelog-table" border="1">
          <tbody>
            <tr>
              <th rowspan="1" colspan="1">Date</th>
              <th rowspan="1" colspan="1">Author</th>
              <th rowspan="1" colspan="1">Description</th>
            </tr>
<!-- template
<tr>
 <td>200502</td>
 <td></td>
 <td></td>
</tr>
-->
<tr>
 <td rowspan="1" colspan="1">20050310</td>
 <td rowspan="1" colspan="1">JJM</td>
 <td rowspan="1" colspan="1">Replaced &lt;definitions&gt; with &lt;description&gt;.
	 </td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050310</td>
 <td rowspan="1" colspan="1">JJM</td>
 <td rowspan="1" colspan="1">Fixed missing fault pseudo-schema.
	 </td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050301</td>
 <td rowspan="1" colspan="1">RRC</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC55" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC55</loc>:
	 enabled use of whttp:transferCoding on Binding Fault Reference components.
	 </td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050301</td>
 <td rowspan="1" colspan="1">RRC</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC55" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC55</loc>:
	 enabled use of wsoap:module on Binding Fault Reference components.
	 </td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050221</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC48b" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC48b</loc>: highlighted relationship between SOAP and WSDL MEPs</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050211</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC49" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC49</loc>: added conformance section to each of the bindings</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050120</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC75q" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC75q</loc>: removed wsdls namespace and XML 1.1 reference; limiting to XML 1.0</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20050120</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC21" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC21</loc>: implemented resolution from <loc href="http://lists.w3.org/Archives/Public/www-ws-desc/2004Dec/0026.html" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">16 Dec 2004 WS Description WG telcon</loc></td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041209</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC86" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC86</loc>: completed pseudo-schemas with missing F&amp;P occurrences</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041209</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC85" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC85</loc>: clarified mapping of messages in an operation to HTTP request/response</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041209</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC30" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC30</loc>: removed instances of provider/requester agents and replaced them by HTTP server/client</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041209</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29d" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29d</loc>: clarified modification of default of SOAP serialization rules</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041208</td>
 <td rowspan="1" colspan="1">AV</td>
 <td rowspan="1" colspan="1">Introduced SOAP version independent WSDL SOAP Binding. Added two new sections, "Specifying the SOAP Version" and "SOAP 1.2 Binding". Plus, lots of shuffling.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041027</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC57" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC57</loc> &amp;<loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC58" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC58</loc>: fixed typos</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041027</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC51" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC51</loc></td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041027</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC45" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC45</loc>: {http location} may or may not be a template</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041027</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC44" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC44</loc>: URL serialization expressed in terms of the component model</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041027</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29e" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29e</loc>: URL serialization: disallowing nil elements in certain cases; clarifying that empty elements are OK</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041001</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29g" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29g</loc>: switched 3.8 (serializations) and 3.9 (styles)</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041001</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29f" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29f</loc>: it is an error to have nil elements in an instance data for multipart/form-data</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041001</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29a" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29a</loc> &amp; <loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC29c" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC29c</loc>: indicated that there is no suitable default fault code</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20041001</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC15" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC15</loc>: moved {http location} under bulleted list in section 2</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC36" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC36</loc> &amp; <loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC2" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC2</loc>: added wsdls:* and xs:* in SOAP binding</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC32" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC32</loc>: fixed errors due to operation name restriction in serialization examples</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC36" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC36</loc>: added wsdls:* and xs:* in HTTP binding</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC37" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC37</loc>: corrected rules to set operation properties values in HTTP binding</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC33" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC33</loc>: removed "default" in SOAP binding's HTTP method selection</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC13" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC13</loc>: removed remaining mentions of HTTP Operation Component</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040920</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC12" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC12</loc>: added whttp:location in SOAP XML summary</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040909</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC10" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC10</loc>: fixed typo in example 3.3</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040909</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1"><loc href="http://www.w3.org/2002/ws/desc/4/lc-issues/issues.html#LC11" xlink:type="simple" xlink:show="replace" xlink:actuate="onRequest">LC11</loc>: made default attributes consistent with the following form:
 <att>wbinding:fooDefault</att></td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040730</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Removed <el>property</el> on <el>wsoap:module</el> in pseudo-schema.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040730</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Removed AD Feature HTTP serialization.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040729</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Added AD Feature support in HTTP binding.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040727</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Clarified interaction between SOAP binding and HTTP binding properties</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040727</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Renamed http prefix whttp</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040727</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Implemented Umit's proposal to mark MTOM as one optimization 
     mechanism.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040726</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Restricted URI style with regards to QNames and added trailing /
 in URL-encoded syntax</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040723</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Addressed issue 246: limited MEP to In-Out, In-Only and Robust In-Only</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040723</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Addressed issue 226.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040723</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Addressed 249: major reorganization of the HTTP binding to be
 presented in a functional way like the SOAP binding rather than in a
 syntactical way.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040722</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Moved SOAP binding syntax summary to the top per request. Also
     fixed the value of the binding/@type property in the pseudo-schema
     to show that its a SOAP binding. </td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040722</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Added HTTP error code attribute on fault binding. Added
 relationship between instance data and properties in the component
 model. Addresses issue 166.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040722</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Renamed SOAP protocol into underlying protocol.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040721</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Set the {type} property of binding for HTTP binding.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040721</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Fixes for issue 177.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040720</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Cross-referenced Part 1 properties.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040720</td>
 <td rowspan="1" colspan="1">HH</td>
 <td rowspan="1" colspan="1">Specified default serialization format for HTTP binding, as well
 as made clear how the defined serialization formats apply constraints
 on interface operation styles</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040705</td>
 <td rowspan="1" colspan="1">JJM</td>
 <td rowspan="1" colspan="1">Added note to indicate only one element per SOAP body.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040702</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Corrected how the SOAP binding is indicated .. I had forgotten
     about binding/@type!</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040625</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Made pseudo-syntax consistent with part1</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040624</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Update the rest of the SOAP binding stuff and consistified
everything.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040624</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Cleaned up how SOAP modules were described. Added default SOAP 
MEP stuff.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040623</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Added default binding rules about HTTP URI generation.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040623</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Added default binding rules about SOAP MEP selection and
HTTP Method selection.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040623</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Fixed up soapaction default rules</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040623</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Allowed use of MTOM for payload serialization</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040623</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Fixed up the wsoap:protocol section</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040618</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Re-introduced AII and EII entity refs.</td>
</tr>
<tr>
 <td rowspan="1" colspan="1">20040618</td>
 <td rowspan="1" colspan="1">SW</td>
 <td rowspan="1" colspan="1">Made soap:module compose with nearest-wins rule.</td>
</tr>
            <tr>
              <td rowspan="1" colspan="1">20040606</td>
              <td rowspan="1" colspan="1">DO</td>
              <td rowspan="1" colspan="1">Cleanup on http binding section - had missed some properties.   completed removal of @separator</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040604</td>
              <td rowspan="1" colspan="1">DO</td>
              <td rowspan="1" colspan="1">Major rewrite of http binding.  Moved to component model, added http properties, added input/output serialization,  removed @separator, added self as editor</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040526</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Removed wsoap:address</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040526</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Editorial/small corrections per F2F decisions</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040526</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Made soap binding be mostly attribute based per F2F decision</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">removed spurious fault element inside
 binding/operation/{in,out}put from syntax summary</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Put in wsoap:module at operation level in the syntax summary (was
 missing)</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Removed old SOAP binding text</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Removed wsoap:header</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added SOAP Address section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added SOAP Operation section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Replace reference to "XML" by "XML1.0"</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added SOAP Fault section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added SOAP Header section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040519</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added SOAP Module section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040516</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Finished writing up soap:binding</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040516</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Added myself as an editor.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040514</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Added default binding rules.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040514</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Commented out old totally out of date SOAP binding.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040514</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Rework the binding and module sections. Reindent to match the structure
 of the HTTP binding.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040511</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Updated SOAP binding pseudo-schema, according to telcon 20040506.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040511</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Updated SOAP binding introduction.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040401</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Fixed one remaining occurrence of "verb" (instead of "method").</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040326</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Sanitized ednotes. Added new ednotes indicating the SOAP binding needs
 work and the HTTP binding is (mostly) OK.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040326</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added Philippe's note on URIPath, as per telcon 20040325.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040305</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Removed the archaic MIME binding, now superseded by the HTTP binding anyway.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20040305</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Included Philippe's changes to the HTTP binding.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20031103</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Fix new non-normative SOAP binding pseudo-schema.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20031102</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Updated SOAP binding.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20031102</td>
              <td rowspan="1" colspan="1">SW</td>
              <td rowspan="1" colspan="1">Change 1.2 to 2.0 per WG decision to rename.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030606</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Replaced &lt;kw/&gt; by &lt;b/&gt;. Indicated that pseudo-schemas are not normative
 </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030604</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Reformated pseudo-syntax elements to match Part 1 layout
						  </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030529</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Incorporated text to resolve Issue 6e
						  </td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030523</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Commented out MIME binding example; this is primer stuff.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030523</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added pseudo-syntax to all sections.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030523</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Started converting the fault and headerfault sections to component model.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030523</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Complete the Multipart and x-www-form-urlencoded
						  sections.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030523</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Fixed typos in HTTP binding (in particular added
						  NOT in some section headers).</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030522</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Added rules for serializing HTTP response</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030522</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Added cardinality to pseudo schema for
						  HTTP binding</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030522</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Changes @transport to @protocol for SOAP
						  binding</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030522</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Incorporated remaining text from Philippe
						  into the HTTP binding.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030522</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Polished the HTTP binding, split into subsections,
						  added double curly brace escape mechanism, removed
						  pseudo-schema.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030521</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Added rules for @verbDefault/@verb and
						  @location.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030514</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Start converting the HTTP binding to the
						  component model. The next thing to do will
						  be to remove http:urlReplacement, etc. and
						  incorporate instead Philippe's text.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030313</td>
              <td rowspan="1" colspan="1">MJG</td>
              <td rowspan="1" colspan="1">Changed to Part 3 ( from Part 2 )</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030117</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Incorporated resolution for Issue 5 (@encodingStyle). Referenced (rather than in-lined XML Schema).</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030117</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Various editorial fixes.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030116</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Updated pseudo and XML Schema.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030116</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added propertyConstraint section.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030116</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added soap:module section.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030115</td>
              <td rowspan="1" colspan="1">JCS</td>
              <td rowspan="1" colspan="1">Incorporated resolutions for Issue 25 (drop @use and @encoding), Issue 51 (headers reference element/type), and attribute roll up into text and schema. Began reworking SOAP HTTP binding to use Infoset model. Removed informative appendices 'Notes on URIs' and example WSDL documents; expect them to appear in the primer. Updated SOAP 1.2 references to CR.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030114</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Removed ednote saying Part 2 is out of synch with Part 1.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030111</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Incorporated resolution for issue 17 (role AII).</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20030109</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Incorporated resolution for issue 4 (Namespaces).</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020702</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added summary to prefix table.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020628</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added out-of-synch-with-Part2 and not-soap12-yet ednote.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Commented out the link to the previous version.
       There is no previous version for 1.2 right now.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Rewrote the Notation Conventions section.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added reference to part 0 in introduction. Renumbered references.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Simplified abstract and introduction.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Obtain the list of WG members from a separate file.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Updated stylesheet and DTDs to latest XMLP stylesheet and DTDs.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Deleted placeholder for appendix C "Location of Extensibility Elements",
       since this is part 1 stuff and extensibility has been reworked anyway.</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Corrected link to issues lists</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Updated title from "WSDL" to "Web Services Description Language".
       Now refer to part 1 as "Web Services... Part 1: Framework</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020621</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added Jeffrey as an editor :-). Removed Gudge (now on Part 2) :-(</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020411</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Fixed typos noticed by Kevin Liu</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "Schemas" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "Wire WSDL examples" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "Notes on URIs" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "Notational Conventions" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "References" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020301</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "MIME Binding" section to XML</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "HTTP Binding" section to XML</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added placeholders for the "Wire examples" and "Schema" sections</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Converted the "SOAP Binding" section to XML</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added the Change Log</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Added the Status section</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Simplified the introduction; referred to Part1 for a longer introduction</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Renamed to "Part 2: Bindings"</td>
            </tr>
            <tr>
              <td rowspan="1" colspan="1">20020221</td>
              <td rowspan="1" colspan="1">JJM</td>
              <td rowspan="1" colspan="1">Created from http://www.w3.org/TR/2001/NOTE-wsdl-20010315</td>
            </tr>
          </tbody>
        </table>
      </div2>
    </inform-div1>
    
        <inform-div1 id="assertionsummary">
    <head>Assertion Summary</head>
    <p>
    	This appendix summarizes assertions about WSDL 2.0 documents and
    	components that are not enforced by the WSDL 2.0 schema. Each assertion
    	is assigned a unique identifier which WSDL 2.0 processors may
    	use to report errors.
    </p>
    
    	<table width="100%" id="document-assertion-summary" border="1">
    		<caption>
    			Summary of Assertions about WSDL 2.0 Documents
    		</caption>
    		<col width="20%" span="1"/>
    		<col width="80%" span="1"/>
    		
<tbody>
  <tr>
    <th rowspan="1" colspan="1">Id</th>
    <th rowspan="1" colspan="1">Assertion</th>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="OperationSafety-2300002"/>
    </td>
    <td rowspan="1" colspan="1">An OPTIONAL <att>safe</att>
	      <emph>attribute information item</emph> with the following
	      Infoset properties:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5027"/>
    </td>
    <td rowspan="1" colspan="1">Additionally, each even-numbered item (0, 2, 4, ...) in the list
	  MUST be of type <emph>xs:QName</emph> and each odd-numbered item (1, 3, 5, ...)
	  in the list MUST be of the subtype of <emph>xs:token</emph> described in the
	  previous paragraph.</td>
  </tr>
</tbody>

    	</table>

    	<table width="100%" id="component-assertion-summary" border="1">
    		<caption>
    			Summary of Assertions about WSDL 2.0 Components
    		</caption>
    		<col width="20%" span="1"/>
    		<col width="80%" span="1"/>
    		
<tbody>
  <tr>
    <th rowspan="1" colspan="1">Id</th>
    <th rowspan="1" colspan="1">Assertion</th>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="FaultPropagationModification-2200103"/>
    </td>
    <td rowspan="1" colspan="1">However, extensions or binding extensions
MAY modify these rulesets.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPAccessAuthentication-5080"/>
    </td>
    <td rowspan="1" colspan="1">If the
	      <prop comp="Endpoint">http authentication scheme</prop> property is present, then 
	      this property MUST be present.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-2600001"/>
    </td>
    <td rowspan="1" colspan="1">a <comp>Binding</comp> component MAY
exist without indicating a specific <comp>Interface</comp> component that it applies
to. In this case there MUST NOT be any <comp>Binding Operation</comp> or <comp>Binding
Fault</comp> components present in the <comp>Binding</comp> component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-2603001"/>
    </td>
    <td rowspan="1" colspan="1">The serialization rules for messages whose <prop comp="Interface Message Reference">message content model</prop> is either <attval>#element</attval> or <attval>#any</attval> and for fault messages are as follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-5056"/>
    </td>
    <td rowspan="1" colspan="1">When formulating the HTTP message to be transmitted, the
        HTTP request method used MUST be the following:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-5057"/>
    </td>
    <td rowspan="1" colspan="1">When formulating the HTTP message to be transmitted, the
        contents of the payload (i.e. the contents of the HTTP message
        body) MUST be what is defined by the corresponding <comp>Interface Message
	Reference</comp> or <comp>Interface Fault</comp> components,
	  serialized as specified by the <termref def="serialization_format">serialization format</termref> used.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-5061"/>
    </td>
    <td rowspan="1" colspan="1">If the value is <attval>#none</attval> then the
	      payload MUST be empty and the value of the corresponding serialization property (<prop comp="Binding Operation">http input serialization</prop> or <prop comp="Binding Operation">http output serialization</prop>) is ignored.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBinding-5062"/>
    </td>
    <td rowspan="1" colspan="1">If the <comp>Interface Message Reference</comp> component or the <comp>Interface Fault</comp>
        component is declared using a non-XML type system (as
        considered in the Types section of <bibref ref="WSDL-PART1"/>)
        then additional binding rules MUST be defined to indicate how
        to map those components into the HTTP envelope.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingFault-2607002"/>
    </td>
    <td rowspan="1" colspan="1">An integer value
            of this property identifies the error Status-Code as defined by <bibref ref="RFC2616"/> that the
	    service will use in case the fault is returned.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingOperation-2605001"/>
    </td>
    <td rowspan="1" colspan="1">The first is
	  transmitted using an HTTP request, and the second is
	  transmitted using the corresponding HTTP response.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingOperation-2605002"/>
    </td>
    <td rowspan="1" colspan="1">This
              IRI is combined with the base IRI specified in the
              <prop comp="Endpoint">address</prop> property of the <comp>Endpoint</comp> component to
              form the full IRI for the HTTP request to invoke the
              operation.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingOperation-2605003"/>
    </td>
    <td rowspan="1" colspan="1">The value of the <termref def="serialization_format">serialization format</termref> used for a
	message is a media type which MUST be covered by this range.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingOperation-5065"/>
    </td>
    <td rowspan="1" colspan="1">In cases
	  where only one message is being sent, the message body of
	  the HTTP response MUST be empty.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPBindingOperation-5066"/>
    </td>
    <td rowspan="1" colspan="1">It MUST contain an absolute or a relative
              IRI, i.e. it MUST NOT include a fragment identifier in
              the IRI.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-2606001"/>
    </td>
    <td rowspan="1" colspan="1">If the
	    <prop comp="Binding Message Reference">http headers</prop> property as defined in section <specref ref="http-headers-decl"/> exists and is not empty in a
	    <comp>Binding Message Reference</comp> or <comp>Binding Fault</comp> component, HTTP headers 
	    conforming to each <comp>HTTP Header</comp> component contained in this <prop comp="Binding Message Reference">http headers</prop> property
	    MAY be serialized as follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-2606002"/>
    </td>
    <td rowspan="1" colspan="1">If the value of an <comp>HTTP Header</comp>
	    component's <prop comp="HTTP Header">required</prop>
	    property is <attval>true</attval>, the inclusion of this
	    HTTP header field is REQUIRED</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-5063"/>
    </td>
    <td rowspan="1" colspan="1">If an HTTP
		  header field corresponding to the value of the <prop comp="HTTP Header">name</prop> property is set by a
		  mechanism other than the HTTP binding, such as the
		  HTTP stack or another feature, then an error MUST be
		  raised.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-5068"/>
    </td>
    <td rowspan="1" colspan="1">It is an ERROR for a <comp>Binding Message
	  Reference</comp> or a <comp>Binding Fault</comp> component's
	  <prop comp="Binding Message Reference">http headers</prop>
	  property to contain multiple <comp>HTTP Header</comp> components
	  with the same <prop comp="HTTP Header">name</prop> property.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-5069"/>
    </td>
    <td rowspan="1" colspan="1">This type MUST be a simple type.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPHeader-5070"/>
    </td>
    <td rowspan="1" colspan="1">If the value is <attval>true</attval>, then the HTTP header field MUST be included in the message.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPQueryString-5074"/>
    </td>
    <td rowspan="1" colspan="1">It is an error for the <termref def="instance_data">instance data</termref> to contain
	  elements with an <att>xs:nil</att> attribute whose value is
	  <attval>true</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608001"/>
    </td>
    <td rowspan="1" colspan="1">If the <prop comp="Interface Operation">style</prop> property of the <comp>Interface Operation</comp> bound has a value of
	  <attval>http://www.w3.org/2006/01/wsdl/style/iri</attval> as defined in <specref ref="_operation_iri_style"/>, and if the <prop comp="Binding Operation">http
	    location</prop> property of the <comp>Binding
	    Operation</comp> component is present, the value of the <prop comp="Binding Operation">http
	    location</prop> property component is used as a
	    template</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608002"/>
    </td>
    <td rowspan="1" colspan="1">For the HTTP binding defined in this section
	    (<specref ref="http-binding"/>),
	    <attval>application/x-www-form-urlencoded</attval> MAY be
	    used as a <termref def="serialization_format">serialization format</termref>
	    for an input message (HTTP Request), but MUST NOT be used as a <termref def="serialization_format">serialization format</termref>
	    for an output or fault message (HTTP Response).</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608003"/>
    </td>
    <td rowspan="1" colspan="1">If not all elements from the <termref def="instance_data">instance data</termref> are cited in
	    the <prop comp="Binding Operation">http location</prop>
	    property, or if the property is not present on the
	    <comp>Binding Operation</comp> component, then additional
	    serialization rules apply.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608004"/>
    </td>
    <td rowspan="1" colspan="1">For elements of the instance data not cited in the
	      <prop comp="Binding Operation">http location</prop> property, a query
	      string is constructed as follows.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608005"/>
    </td>
    <td rowspan="1" colspan="1">If the HTTP request method used does not allow
	      HTTP message body (e.g. <attval>GET</attval> and
	      <attval>DELETE</attval>), and if the value of the <prop comp="Binding Operation">http location ignore uncited</prop> property is <attval>false</attval>, then the following rules
	      apply.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608007"/>
    </td>
    <td rowspan="1" colspan="1">If the HTTP request method used does allow an
	      HTTP message body (e.g. <attval>POST</attval> and
	      <attval>PUT</attval>), then the following rules
	      apply.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608008"/>
    </td>
    <td rowspan="1" colspan="1">The <code>Content-Type</code> HTTP header field must
	      have the value
	      <code>application/x-www-form-urlencoded</code>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-2608009"/>
    </td>
    <td rowspan="1" colspan="1">this serialization
	  format may only be used to serialize the HTTP request
	  corresponding to the initial message of
	  an interface operation.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5067"/>
    </td>
    <td rowspan="1" colspan="1">The value of the <prop comp="Binding Operation">http input
      serialization</prop>, <prop comp="Binding Operation">http output
      serialization</prop> and <prop comp="Binding Operation">http
      fault serialization</prop> properties is similar to the value
      allowed for the <code>Accept</code> HTTP header defined by the HTTP
      1.1 specification, Section 14.1 (see <bibref ref="RFC2616"/>)
      and MUST follow the production rules defined in that section
      except for the following:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5071"/>
    </td>
    <td rowspan="1" colspan="1">The resulting IRI MUST be mapped to an URI for use in
	    the HTTP Request as per section 3.1 "Mapping of IRIs to
	    URIs" of the IRI specification <bibref ref="RFC3987"/>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5073"/>
    </td>
    <td rowspan="1" colspan="1">Strings enclosed within single
            curly braces MUST be element names from the <termref def="instance_data">instance data</termref> of the input
            message; local names within single curly braces not
            corresponding to an element in the <termref def="instance_data">instance data</termref> are a fatal
            error.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5075"/>
    </td>
    <td rowspan="1" colspan="1">The <code>Content-Type</code> HTTP header MUST have the value
	  <code>application/xml</code>, or a media type compatible with
	  <code>application/xml</code> as specified in section <specref ref="_http_ser_xml"/>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5076"/>
    </td>
    <td rowspan="1" colspan="1">Specifically, for the HTTP binding defined in this section
	    (<specref ref="http-binding"/>),
	    <attval>multipart/form-data</attval> MAY be
	    used as a <termref def="serialization_format">serialization format</termref>
	    for an input message (HTTP Request), but MUST NOT be used as a <termref def="serialization_format">serialization format</termref>
	    for an output or fault message (HTTP Response).</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5077"/>
    </td>
    <td rowspan="1" colspan="1">The <code>Content-Disposition</code> header MUST have the
	      value <code>form-data</code>, and its <code>name</code>
	      parameter is the local name of the element.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5078"/>
    </td>
    <td rowspan="1" colspan="1">The <code>Content-Type</code> header MUST have the value:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="HTTPSerialization-5079"/>
    </td>
    <td rowspan="1" colspan="1">It is an error for the <termref def="instance_data">instance data</termref> to contain
	  elements with an <att>xs:nil</att> attribute whose value is
	  <attval>true</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5028"/>
    </td>
    <td rowspan="1" colspan="1">When using this style, the value of the <prop comp="Interface Message Reference">message content
	   model</prop> property of the <comp>Interface Message
	   Reference</comp> component corresponding to the initial
	   message of the message exchange pattern MUST be
	   <attval>#element</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5029"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST only contain elements.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5030"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST contain only local element
	      children. These child elements MAY contain the
	      <att>nillable</att> attribute.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5031"/>
    </td>
    <td rowspan="1" colspan="1">The localPart of the element's QName MUST be the same
	      as the <comp>Interface Operation</comp> component's
	      <prop comp="Interface Operation">name</prop>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5032"/>
    </td>
    <td rowspan="1" colspan="1">The complex type that defines the body of the 
	      element or its children elements MUST NOT contain any
	      attributes.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="IRIStyle-5034"/>
    </td>
    <td rowspan="1" colspan="1">If the children elements of the sequence are
	      defined using an XML Schema type, they MUST derive from
	      <code>xs:simpleType</code>, and MUST NOT be of the type
	      or derive from <code>xs:QName</code>,
	      <code>xs:NOTATION</code>, <code>xs:hexBinary</code> or
	      <code>xs:base64Binary</code>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="InOnlyComposition-2200501"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly one message as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="InOptOutComposition-2200801"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of one or two messages, in order, as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="InOutComposition-2200701"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly two messages, in order, as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5035"/>
    </td>
    <td rowspan="1" colspan="1">When using this style, the value of the <prop comp="Interface Message Reference">message content
	   model</prop> property of the <comp>Interface Message
	   Reference</comp> component corresponding to the initial
	   message of the message exchange pattern MUST be
	   <attval>#element</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5036"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST only contain elements.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5037"/>
    </td>
    <td rowspan="1" colspan="1">The localPart of the element's QName MUST be the same
	      as the <comp>Interface Operation</comp> component's
	      <prop comp="Interface Operation">name</prop>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5038"/>
    </td>
    <td rowspan="1" colspan="1">The complex type that defines the body of the 
	      element or its children elements MUST NOT contain any
	      attributes.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5039"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST NOT contain multiple children
	      element declared with the same local name.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="MultipartStyle-5081"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST contain only local element
	      children. These child elements MAY contain the
	      <att>nillable</att> attribute, and the attributes
	      <att>minOccurs</att> and <att>maxOccurs</att> MUST have
	      a value <code>1</code>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="OperationSafety-2300001"/>
    </td>
    <td rowspan="1" colspan="1">However, an operation SHOULD be marked safe
	    if it meets the criteria for a safe interaction defined in
	    Section 3.5 of <bibref ref="webarch"/>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="OutInComposition-2201101"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly two messages, in order, as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="OutOnlyComposition-2200901"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly one message as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="OutOptInComposition-2201201"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of one or two messages, in order, as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5007"/>
    </td>
    <td rowspan="1" colspan="1">The RPC style MUST NOT be used for <comp>Interface Operation</comp>
	 components whose <prop comp="Interface Operation">message exchange pattern</prop>
	 property has a value other than <attval>http://www.w3.org/2006/01/wsdl/in-only</attval> or <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5008"/>
    </td>
    <td rowspan="1" colspan="1">The value of the <prop comp="Interface Message Reference">message content model</prop> property for the
	   <comp>Interface Message Reference</comp> components of the
	   <prop comp="Interface Operation">interface message
	   references</prop> property MUST be
	   <attval>#element</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5009"/>
    </td>
    <td rowspan="1" colspan="1">The content model of input and output
       <prop comp="Interface Message Reference">element declaration</prop>
	   elements MUST be defined using a complex type that contains a
	   sequence from XML Schema.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5010"/>
    </td>
    <td rowspan="1" colspan="1">The input sequence MUST only contain elements and element wildcards.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5011"/>
    </td>
    <td rowspan="1" colspan="1">The input sequence
           MUST NOT contain more than one element wildcard.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5012"/>
    </td>
    <td rowspan="1" colspan="1">The element wildcard, if
           present, MUST appear after any elements.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5013"/>
    </td>
    <td rowspan="1" colspan="1">The output sequence MUST only contain elements.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5014"/>
    </td>
    <td rowspan="1" colspan="1">The sequence MUST contain only local element
	   children.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5015"/>
    </td>
    <td rowspan="1" colspan="1">The local name of input element's QName MUST be
	   the same as the <comp>Interface Operation</comp> component's
	   name.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5016"/>
    </td>
    <td rowspan="1" colspan="1">Input and output elements MUST both be in the
	   same namespace.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5017"/>
    </td>
    <td rowspan="1" colspan="1">The complex type that defines the body of an
	   input or an output element MUST NOT contain any local
	   attributes.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5018"/>
    </td>
    <td rowspan="1" colspan="1">If elements with the same qualified name appear
	   as children of both the input and output elements, then
	   they MUST both be declared using the same named type.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RPCStyle-5019"/>
    </td>
    <td rowspan="1" colspan="1">The input or output sequence MUST NOT contain
	   multiple children elements declared with the same
	   name.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RobustInOnlyComposition-2200601"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly one message as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="RobustOutOnlyComposition-2201001"/>
    </td>
    <td rowspan="1" colspan="1">This pattern consists of exactly one message as
follows:</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPAction-5048"/>
    </td>
    <td rowspan="1" colspan="1">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding Operation</comp> component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBinding-5040"/>
    </td>
    <td rowspan="1" colspan="1">When formulating
          the SOAP envelope to be transmitted, the contents of the
          payload (i.e., the contents of the SOAP Body <emph>element information item</emph>
          of the SOAP envelope) MUST be what is defined by the
          corresponding <comp>Interface Message Reference</comp> component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBinding-5041"/>
    </td>
    <td rowspan="1" colspan="1">If the value is <attval>#none</attval> then the
            payload MUST be empty.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBinding-5042"/>
    </td>
    <td rowspan="1" colspan="1">If the <comp>Interface Message Reference</comp> component is declared
            using a non-XML type system (as considered in the Types
            section of <bibref ref="WSDL-PART1"/>) then additional
            binding rules MUST be defined to indicate how to map those
            components into the SOAP envelope.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBinding-5043"/>
    </td>
    <td rowspan="1" colspan="1">Every SOAP binding MUST indicate what version of SOAP is in use
          for the operations of the interface that this binding applies to.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBinding-5044"/>
    </td>
    <td rowspan="1" colspan="1">Every SOAP binding MUST indicate what underlying protocol is in
          use.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPBindingFault-5045"/>
    </td>
    <td rowspan="1" colspan="1">For every <comp>Interface Fault</comp> component contained in an
          <comp>Interface</comp> component, a mapping to a SOAP Fault MUST be
          described.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPHTTPGeneration-5055"/>
    </td>
    <td rowspan="1" colspan="1">If
          the SOAP MEP selected is
          <attval>http://www.w3.org/2003/05/soap/mep/soap-response/</attval>
          then the value of the SOAP
	  <attval>http://www.w3.org/2003/05/soap/mep/ImmediateDestination</attval> property MUST be
          generated using the HTTP binding extension's rules for generating a
          IRI for HTTP GET (see <specref ref="_http_x-www-form-urlencoded"/>).</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPHTTPSelection-5054"/>
    </td>
    <td rowspan="1" colspan="1">This default
          binding rule is applicable when the value of the
          <prop comp="Binding">soap underlying protocol</prop> property of the <comp>Binding</comp> component is
          <attval>http://www.w3.org/2003/05/soap/bindings/HTTP/</attval>. If
          the SOAP MEP selected as specified above has the value
          <attval>http://www.w3.org/2003/05/soap/mep/request-response/</attval>
          then the HTTP method used is
          <attval>POST</attval>. If the SOAP MEP selected has the value
          <attval>http://www.w3.org/2003/05/soap/mep/soap-response/</attval>
          then the HTTP method used is
          <attval>GET</attval>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPHeaderBlock-5050"/>
    </td>
    <td rowspan="1" colspan="1">When its value is
            <attval>true</attval>, the SOAP header block MUST be
            decorated with a SOAP <att>mustUnderstand</att> <emph>attribute information item</emph> with
            a value of <attval>true</attval>; if so, it is an error
            for the XML element declaration referenced by the <prop comp="SOAP Header Block">element declaration</prop> property not to
            allow this SOAP <att>mustUnderstand</att>
            <emph>attribute information item</emph>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPHeaderBlock-5051"/>
    </td>
    <td rowspan="1" colspan="1">If the value is <attval>true</attval>, then the SOAP header block MUST be included in the message.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPHeaderBlock-5052"/>
    </td>
    <td rowspan="1" colspan="1">It is
                an error for the <att>element</att> <emph>attribute information item</emph> to have a
                value and that value does not resolve to a global
                element declaration from the
                <prop comp="Description">element declarations</prop> property of the
                <comp>Description</comp> component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPMEP-5047"/>
    </td>
    <td rowspan="1" colspan="1">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding Operation</comp> component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPMEPDefault-5046"/>
    </td>
    <td rowspan="1" colspan="1">A <emph>xs:anyURI</emph>,
            which is an absolute IRI as defined by <bibref ref="RFC3987"/>, to the <comp>Binding</comp>
            component.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPMEPSelection-5053"/>
    </td>
    <td rowspan="1" colspan="1">
	  For a given <comp>Interface Operation</comp> component, if
	  there is a <comp>Binding Operation</comp> component whose
	  <prop comp="Binding Operation">interface operation</prop>
	  property matches the component in question and its <prop comp="Binding Operation">soap mep</prop> property has a
	  value, then SOAP MEP is the value of the <prop comp="Binding    Operation">soap mep</prop> property. Otherwise, the SOAP MEP
	  is the value of the <comp>Binding </comp> component's <prop comp="Binding">soap mep default</prop>, if
	  any. Otherwise, if the <comp>Interface Operation</comp>
	  component's <prop comp="Interface Operation">message
	  exchange pattern</prop> property has the value
	  <attval>http://www.w3.org/2006/01/wsdl/in-out</attval>, then the SOAP MEP is the URI
	  <attval>http://www.w3.org/2003/05/soap/mep/request-response/</attval>
	  identifying the SOAP Request-Response Message Exchange
	  Pattern as defined in <bibref ref="SOAP12-PART2"/>.
	  Otherwise (i.e. if the <comp>Interface Operation</comp>
	  component has any other value for the <prop comp="Interface    Operation">message exchange pattern</prop> property), it is
	  an ERROR.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="SOAPModule-5049"/>
    </td>
    <td rowspan="1" colspan="1">A <emph>xs:anyURI</emph>, which is an absolute IRI as defined by <bibref ref="RFC3987"/>.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5020"/>
    </td>
    <td rowspan="1" colspan="1">Values for the second component MUST be chosen among the following four:
	"#in", "#out", "#inout" "#return".</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5021"/>
    </td>
    <td rowspan="1" colspan="1">The value of the first component of each pair <emph>(q, t)</emph> MUST
	  be unique within the list.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5022"/>
    </td>
    <td rowspan="1" colspan="1">For each child element of the input and output messages of the operation,
	  a pair <emph>(q, t)</emph> whose first component <emph>q</emph> is equal to
	  the qualified name of that element MUST be present in the list, with the caveat
	  that elements that appear with cardinality greater than one MUST be treated as
	  a single element.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5023"/>
    </td>
    <td rowspan="1" colspan="1">For each pair <emph>(q, #in)</emph>, there MUST be a child element of the
	  input element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the output element with the same name.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5024"/>
    </td>
    <td rowspan="1" colspan="1">For each pair <emph>(q, #out)</emph>, there MUST be a child element of the
	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the input element with the same name.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5025"/>
    </td>
    <td rowspan="1" colspan="1">For each pair <emph>(q, #inout)</emph>, there MUST be a child element of the
	  input element with a name of <emph>q</emph> and there MUST be a child element
	  of the output element with the same name. Furthermore, those two elements MUST
	  have the same type.</td>
  </tr>
  <tr>
    <td rowspan="1" colspan="1">
      <assert-summary ref="WRPC-5026"/>
    </td>
    <td rowspan="1" colspan="1">For each pair <emph>(q, #return)</emph>, there MUST be a child element of the
	  output element with a name of <emph>q</emph> and there MUST NOT be a child element
	  of the input element with the same name.</td>
  </tr>
</tbody>

    	</table>

    </inform-div1>
    
  </back>
</spec>
