<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type='text/xsl' href='xmlspec.xsl'?>
<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.1//EN" "xmlspec.dtd" [
<!ENTITY % entities SYSTEM "entitieswd.dtd" >
%entities;
<!ENTITY status "&wstra.status;" >
<!ENTITY short-status "&wstra.short-status;" >
 ]>

<spec w3c-doctype="&wstra.w3c-doctype;" role="&wstra.role;">
 <header>
  <title>&wstra.name;</title>
  <w3c-designation>&wstra.w3c-designation;</w3c-designation>
  <w3c-doctype>"&wstra.w3c-doctype;</w3c-doctype>
  <pubdate>
   <day>&wstra.day;</day>
   <month>&wstra.month;</month>
   <year>&wstra.year;</year>
  </pubdate>

  <publoc>
   <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
         xlink:show="replace" xlink:actuate="onRequest"
         href="&wstra.dated;">&wstra.dated;
   </loc>
  </publoc>

  <latestloc>
    <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
        xlink:show="replace" xlink:actuate="onRequest"
        href="http://www.w3.org/TR/&wstra.shortname;">http://www.w3.org/TR/&wstra.shortname;
   </loc>
  </latestloc>

  <prevlocs>
    <loc xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple"
	 xlink:show="replace" xlink:actuate="onRequest"
	 href="&prev.wstra.dated;">&prev.wstra.dated;
    </loc>
  </prevlocs>

    <authlist>
      <author>
        <name>Doug Davis</name>
        <affiliation>IBM</affiliation>
      </author>
      <author>
        <name>Ashok Malhotra</name>
        <affiliation>Oracle</affiliation>
      </author>
      <author>
        <name>Katy Warr</name>
        <affiliation>IBM</affiliation>
      </author>
      <author>
        <name>Wu Chou</name>
        <affiliation>Avaya</affiliation>
      </author>
    </authlist>
    <status id='Status'>
      <p>This is the First Public Working Draft.</p>
      <p>
       Publication as a Working Draft does not imply endorsement by the
       W3C Membership. This is a draft document and may be updated, replaced
       or obsoleted by other documents at any time. It is inappropriate to
       cite this document as other than work in progress.
      </p>
    </status>
    <abstract>
      <p>
    This specification describes a general SOAP-based protocol for accessing
    XML representations of Web service-based resources.
   </p>
    </abstract>
    <langusage>
      <language id="en">English</language>
    </langusage>
    <revisiondesc>
      <p>Last Modified: $Date: 2009/06/03 11:57:25 $</p>
    </revisiondesc>
  </header>
  <body>
    <div1 id="intro">
      <head>Introduction</head>
      <p>This specification defines a mechanism for acquiring XML-based
    representations of entities using the Web service infrastructure. It defines
    two types of entities:</p>
      <ulist>
        <item>
          <p>Resources, which are entities addressable by an endpoint reference that
        provide an XML representation</p>
        </item>
        <item>
          <p>Resource factories, which are Web services that can create a new
        resource from an XML representation</p>
        </item>
      </ulist>
      <p>Specifically, it defines two operations for sending and receiving the
    representation of a given resource and two operations for creating and
    deleting a resource and its corresponding representation.</p>
      <p>It should be noted that the state maintenance of a resource is at most
    subject to the "best efforts" of the hosting server. When a client receives
    the server's acceptance of a request to create or update a resource, it can
    reasonably expect that the resource now exists at the confirmed location and
    with the confirmed representation, but this is not a guarantee, even in the
    absence of any third parties. The server may change the representation of a
    resource, may remove a resource entirely, or may bring back a resource that
    was deleted.</p>
      <p>For instance, the server may store resource state information on a disk
    drive. If that drive crashes and the server recovers state information from a
    backup tape, changes that occurred after the backup was made will be
    lost.</p>
      <p>A server may have other operational processes that change resource state
    information. A server may run a background process that examines resources
    for objectionable content and deletes any such resources it finds. A server
    may purge resources that have not been accessed for some period of time. A
    server may apply storage quotas that cause it to occasionally purge
    resources.</p>
      <p>In essence, the confirmation by a service of having processed a request to
    create, modify, or delete a resource implies a commitment only at the instant
    that the confirmation was generated. While the usual case should be that
    resources are long-lived and stable, there are no guarantees, and clients
    should code defensively.</p>
      <p>There is no requirement for uniformity in resource representations between
    the messages defined in this specification. For example, the
    representations required by Create or Put may differ from the representation
    returned by Get, depending on the semantic requirements of the service.
    Additionally, there is no requirement that the resource content is fixed for
    any given endpoint reference. The resource content may vary based on
    environmental factors, such as the security context, time of day,
    configuration, or the dynamic state of the service.</p>
      <p>As per the SOAP processing model, other specifications may define SOAP
    headers which may be optionally added to request messages to require the
    transfer of subsets or the application of transformations of the resource
    associated with the endpoint reference. When the Action URIs defined by
    this specification are used, such extension specifications must also allow
    the basic processing models defined herein.</p>
      <div2 id="reqs">
        <head>Requirements</head>
        <p>This specification intends to meet the following requirements:</p>
        <ulist>
          <item>
            <p>Provide a SOAP-based protocol for managing resources and their
        representations.
        </p>
          </item>
          <item>
            <p>Minimize additional mechanism beyond the current Web Services
         architecture.
        </p>
          </item>
        </ulist>
      </div2>
    </div1>
    <div1 id="Notations_and_Terminology">
      <head>Terminology and Notation</head>
      <div2 id="terminology">
        <head>Terminology</head>
        <glist>
          <gitem>
            <label>Resource</label>
            <def>
              <p>A Web service that is addressable by an endpoint reference as defined
         in WS-Addressing and that can be represented by an XML Infoset using
         the Get and Put operations defined in this specification.</p>
            </def>
          </gitem>
          <gitem>
            <label>Resource factory</label>
            <def>
              <p>A Web service that is capable of creating new resources using the
         Create operation defined in this specification.</p>
            </def>
          </gitem>
        </glist>
      </div2>
      <div2 id="namespaces">
        <head>XML Namespaces</head>
        <p>
     The XML Namespace URI that MUST be used by implementations of this
     specification is:
    </p>
        <example>
          <eg><loc href="http://www.w3.org/2009/02/ws-tra">http://www.w3.org/2009/02/ws-tra</loc></eg>
        </example>
        <p>
          <specref ref="xmlnamespaces"/> lists XML namespaces that are 
     used in this specification. The
     choice of any namespace prefix is arbitrary and not semantically
     significant.
    </p>
        <table id="xmlnamespaces" border="1" cellpadding="5">
          <caption>
      Prefixes and XML Namespaces used in this specification.
     </caption>
          <tbody>
            <tr>
              <th align="left"> Prefix </th>
              <th align="left"> XML Namespace </th>
              <th align="left"> Specification(s) </th>
            </tr>
            <tr>
              <td> wst </td>
              <td>
                <loc href="http://www.w3.org/2009/02/ws-tra">http://www.w3.org/2009/02/ws-tra</loc>
              </td>
              <td>
        This specification
       </td>
            </tr>
            <tr>
              <td> s </td>
              <td> Either SOAP 1.1 or 1.2 </td>
              <td> SOAP </td>
            </tr>
            <tr>
              <td> s11 </td>
              <td>
                <loc href="http://schemas.xmlsoap.org/soap/envelope/">http://schemas.xmlsoap.org/soap/envelope/</loc>
              </td>
              <td>
                <bibref ref="Soap11"/>
              </td>
            </tr>
            <tr>
              <td> s12 </td>
              <td>
                <loc href="http://www.w3.org/2003/05/soap-envelope">http://www.w3.org/2003/05/soap-envelope</loc>
              </td>
              <td>
                <bibref ref="Soap12"/>
              </td>
            </tr>
            <tr>
              <td> wsa </td>
              <td>
                <loc href="http://www.w3.org/2005/08/addressing">http://www.w3.org/2005/08/addressing</loc>
              </td>
              <td>
                <bibref ref="AddrCore"/>
              </td>
            </tr>
            <tr>
              <td> wsdl </td>
              <td>
                <loc href="http://schemas.xmlsoap.org/wsdl/">http://schemas.xmlsoap.org/wsdl/</loc>
              </td>
              <td>
                <bibref ref="Wsdl11"/>
              </td>
            </tr>
            <tr>
              <td> xs </td>
              <td>
                <loc href="http://www.w3.org/2001/XMLSchema">http://www.w3.org/2001/XMLSchema</loc>
              </td>
              <td> 
               XML Schema <bibref ref="XmlSchemaPart1"/>, <bibref ref="XmlSchemaPart2"/>
              </td>
            </tr>
          </tbody>
        </table>

        <p>
         The working group intends to update the value of the Web Services
         Transfer namespace URI each time a new version of this document is
         published until such time that the document reaches Candidate
         Recommendation status. Once it has reached Candidate Recommendation
         status, the working group intends to maintain the value of the
         Web Services Transfer namespace URI that was assigned in the
         Candidate Recommendation unless significant changes are made that
         impact the implementation or break post-CR implementations of the
         specification. Also see
         <loc href="http://www.w3.org/2001/tag/doc/namespaceState.html">
          http://www.w3.org/2001/tag/doc/namespaceState.html
         </loc> and
         <loc href="http://www.w3.org/2005/07/13-nsuri">
          http://www.w3.org/2005/07/13-nsuri
         </loc>.
       </p>
      </div2>
      <div2 id="conven">
        <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 RFC 2119 
     <bibref ref="Rfc2119"/>.
    </p>
        <p>
     This specification uses the following syntax to define outlines for 
     messages:
    </p>
        <ulist>
          <item>
            <p>
       The syntax appears as an XML instance, but values in italics
       indicate data types instead of literal values.
      </p>
          </item>
          <item>
           <p>
       Characters are appended to elements and attributes to indicate
       cardinality:
           </p>
       <ulist>
                <item>
                  <p> "?" (0 or 1) </p>
                </item>
                <item>
                  <p> "*" (0 or more) </p>
                </item>
                <item>
                  <p> "+" (1 or more) </p>
                </item>
              </ulist>
          </item>
          <item>
            <p>
       The character "|" is used to indicate a choice between
       alternatives.
      </p>
          </item>
          <item>
            <p>
       The characters "(" and ")" are used to
       indicate that contained items are to be treated as a group with 
       respect to cardinality or choice.
      </p>
          </item>
          <item>
            <p>
       The characters "[" and "]" are used to call
       out references and property names.
      </p>
          </item>
          <item>
            <p>
       Ellipsis (i.e. "...") indicate points of extensibility.
      </p>
          </item>
          <item>
            <p>
       XML namespace prefixes (see <specref ref="xmlnamespaces"/>) are used 
       to indicate the namespace of the element being defined.
      </p>
     </item>
    </ulist>

    <p>
     In addition to Message Information Header properties
     <bibref ref="AddrCore"/>,
     this specification uses the following properties to define messages:
    </p>

    <glist>
     <gitem>
      <label> <kw>[Headers]</kw> </label>
      <def>
       <p> Unordered message headers. </p>
      </def>
     </gitem>

     <gitem>
      <label> <kw>[Action]</kw> </label>
      <def>
       <p> The value to be used for the wsa:Action URI. </p>
      </def>
     </gitem>

     <gitem>
      <label> <kw>[Body]</kw> </label>
      <def>
       <p> A message body. </p>
      </def>
     </gitem>
    </glist>

    <p>
     These properties bind to a SOAP Envelope as follows:
    </p>

    <example>
     <eg>&lt;s:Envelope&gt;
  &lt;s:Header&gt;
    <kw>[Headers]</kw>
    &lt;wsa:Action&gt;<kw>[Action]</kw>&lt;/wsa:Action&gt;
    ...
  &lt;/s:Header&gt;
  &lt;s:Body&gt;<kw>[Body]</kw>&lt;/s:Body&gt;
&lt;/s:Envelope&gt;</eg>
    </example>

   </div2>

   <div2 id="extensions">
    <head>Considerations on the Use of Extensibility Points</head>

    <p>
     The elements defined in this specification MAY be extended at the
     points indicated by their outlines and schema. Implementations MAY
     add child elements and/or attributes at the indicated extension
     points but MUST NOT contradict the semantics of the parent and/or
     owner, respectively. If a receiver does not recognize an extension,
     the receiver SHOULD ignore that extension. Senders MAY indicate
     the presence of an extension that has to be understood through the use
     of a corresponding SOAP Header with a soap:mustUnderstand attribute
     with the value "1".
    </p>

    <p>
     Extension elements and attributes MUST NOT use the Web Services
     Transfer namespace URI.
    </p>
   </div2>

      <div2 id="compliance">
        <head>Compliance</head>
        
        <p>
          An implementation is not compliant with this specification if it fails to
          satisfy one or more of the MUST or REQUIRED level requirements defined herein.
          A SOAP Node MUST NOT use the XML namespace identifier for this specification
          (listed in <specref ref="namespaces"/>) within SOAP Envelopes unless it is compliant
          with this specification. 
        </p>
        
        <p>
          Normative text within this specification takes precedence over the XML Schema
          and WSDL descriptions, which in turn take precedence over outlines, which in
          turn take precedence over examples. 
        </p>
        
        <p>
          All messages defined by this specification MUST be sent to a Web service that
          is addressable by an EPR (see <bibref ref="AddrCore"></bibref>). 
        </p>
        
        <p>
           A compliant SOAP Node that implements a resource MUST
           provide the Get operation as defined in this specification, and MAY provide
           the Put and Delete operations.
        </p>

      </div2>
    </div1>
    <div1 id="resourceOperations">
      <head>Resource Operations</head>

      <div2 id="Get">
        <head>Get</head>
        <p>This specification defines one Web service operation (Get) for fetching a
one-time snapshot of the representation of a resource.</p>
        <p>The Get request message MUST be of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/Get

<kw>[Body]</kw>
    &lt;wst:Get ...&gt;
      <emph>xs:any</emph>*
    &lt;/wst:Get&gt;</eg>
        </example>
        <p>The following describes additional, normative constraints on the outline
listed above:</p>
        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:Get </label>
            <def>
              <p>
               This is a REQUIRED element that has no defined child element 
               content. However, it MAY include child element content as 
               defined by an extension(s).
              </p>
            </def>
          </gitem>
        </glist>
        <p>A Get request MUST be targeted at the resource whose representation is
 desired as described in <specref ref="Notations_and_Terminology"/> of
this specification.</p>
        <p>If the resource accepts a Get request, it MUST reply with a response of
the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/GetResponse

<kw>[Body]</kw>
  &lt;wst:GetResponse ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:GetResponse&gt;</eg>
        </example>

        <p>
         The following describes additional, normative constraints on the 
         outline listed above:
        </p>

        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:GetResponse </label>
            <def>
              <p>
               This REQUIRED element MUST have as its first child element, 
               an element that comprises the representation of the resource. 
               Additional extension elements MAY be included after the 
               element representing the resource.
              </p>
            </def>
          </gitem>
        </glist>

        <p>
         Other components of the outline above are not further constrained 
         by this specification.
        </p>
        <p>
         The following shows a sample SOAP envelope containing a Get 
         request:
        </p>

        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing" 
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:ReplyTo&gt;
      &lt;wsa:Address&gt;
        http://www.fabrikam123.example.org/pullport
      &lt;/wsa:Address&gt;
    &lt;/wsa:ReplyTo&gt;
    &lt;wsa:To&gt;http://www.example.org/repository&lt;/wsa:To&gt;
    &lt;xxx:CustomerID wsa:IsReferenceParameter="true"&gt;
      732199
    &lt;/xxx:CustomerID&gt;
    &lt;xxx:Region wsa:IsReferenceParameter="true"&gt;
      EMEA
    &lt;/xxx:Region&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/Get
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:00000000-0000-0000-C000-000000000046
    &lt;/wsa:MessageID&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:Get/&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt;</eg>
        </example>
        <p>The following shows the corresponding response message:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing" 
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:To&gt;http://www.fabrikam123.example.org/pullport&lt;/wsa:Address&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/GetResponse
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:0000010e-0000-0000-C000-000000000046
    &lt;/wsa:MessageID&gt;
    &lt;wsa:RelatesTo&gt;
      uuid:00000000-0000-0000-C000-000000000046
    &lt;/wsa:RelatesTo&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:GetResponse&gt;
      &lt;xxx:Customer&gt;
        &lt;xxx:first&gt;Roy&lt;/xxx:first&gt;&lt;xxx:last&gt;Hill&lt;/xxx:last&gt;
        &lt;xxx:address&gt;123 Main Street&lt;/xxx:address&gt;
        &lt;xxx:city&gt;Manhattan Beach&lt;/xxx:city&gt;
        &lt;xxx:state&gt;CA&lt;/xxx:state&gt;
        &lt;xxx:zip&gt;90266&lt;/xxx:zip&gt;
      &lt;/xxx:Customer&gt;
    &lt;/wst:GetResponse&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt;</eg>
        </example>
        <p>In this example, the representation of the resource is the following XML
element:</p>
        <example>
          <eg>  &lt;xxx:Customer&gt;
    &lt;xxx:first&gt;Roy&lt;/xxx:first&gt;&lt;xxx:last&gt;Hill&lt;/xxx:last&gt;
    &lt;xxx:address&gt;123 Main Street&lt;/xxx:address&gt;
    &lt;xxx:city&gt;Manhattan Beach&lt;/xxx:city&gt;
    &lt;xxx:state&gt;CA&lt;/xxx:state&gt;
    &lt;xxx:zip&gt;90266&lt;/xxx:zip&gt;
  &lt;/xxx:Customer&gt;</eg>
        </example>
      </div2>
      <div2 id="Put">
        <head>Put</head>
        <p>This specification defines one Web service operation (Put) for updating a
resource by providing a replacement representation. A resource MAY accept
updates that provide different XML representations than that returned by the
resource; in such a case, the semantics of the update operation is defined by
the resource.</p>
        <p>The Put request message MUST be of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/Put

<kw>[Body]</kw>
  &lt;wst:Put ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:Put&gt;</eg>
        </example>
        <p>
         The following describes additional, normative constraints on the 
         outline listed above:
        </p>

        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:Put </label>
            <def>
              <p>
               This REQUIRED element MUST have as its first child element, 
               an element that comprises the representation of the resource 
               that is to be replaced. Additional extension elements MAY 
               be included after the element representing the resource.
              </p>
            </def>
          </gitem>
        </glist>
        <p>
         A Put request MUST be targeted at the resource whose representation is
         desired to be replaced, as described in 
         <specref ref="Notations_and_Terminology"/> of this specification.
        </p>

        <p>
         Implementations MAY use the fault code wst:InvalidRepresentation 
         if the presented representation is invalid for the target resource. 
         See <specref ref="Faults"/>. Other components of the outline above are not 
         further constrained by this specification.
        </p>
        <p>A successful Put operation updates the current representation associated
with the targeted resource.</p>
        <p>If the resource accepts a Put request and performs the requested update,
it MUST reply with a response of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/PutResponse

<kw>[Body]</kw>
  &lt;wst:PutResponse ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:PutResponse&gt;</eg>
        </example>
        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:PutResponse </label>
            <def>
              <p>
               This REQUIRED element, if it contains any child elements, 
               MUST have as its first child element, an element that 
               comprises the representation of the resource that has been 
               updated. Additional extension elements MAY be included after 
               the element representing the resource.
              </p>

              <p>
               As an optimization and as a service to the requester, 
               if there are no extension elements this
               element SHOULD be empty if the updated
               representation does not differ from the representation sent in 
               the Put request message; that is, if the service accepted the 
               new representation verbatim.
              </p>

              <p>
               Such a response (an empty wst:PutResponse) implies that the 
               update request was successful in its entirety (assuming no 
               intervening mutating operations are performed). A service MAY 
               return the current representation of the resource as the 
               child of the wst:PutResponse element even in this 
               case, however.
              </p>

            </def>
          </gitem>
        </glist>
        <p>Other components of the outline above are not further constrained by this
specification.</p>
        <p>The following shows a sample SOAP envelope containing a Put request:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:ReplyTo&gt;
      &lt;wsa:Address&gt;
        http://www.fabrikam123.example.org/sender
      &lt;/wsa:Address&gt;
    &lt;/wsa:ReplyTo&gt;
    &lt;wsa:To&gt;http://www.example.org/pushport&lt;/wsa:To&gt;
    &lt;xxx:CustomerID wsa:IsReferenceParameter="true"&gt;
      732199
    &lt;/xxx:CustomerID&gt;
    &lt;xxx:Region wsa:IsReferenceParameter="true"&gt;
      EMEA
    &lt;/xxx:Region&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/Put
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:00000000-0000-0000-C000-000000000047
    &lt;/wsa:MessageID&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:Put&gt;
      &lt;xxx:Customer&gt;
        &lt;xxx:first&gt;Roy&lt;/xxx:first&gt;&lt;xxx:last&gt;Hill&lt;/xxx:last&gt;
        &lt;xxx:address&gt;321 Main Street&lt;/xxx:address&gt;
        &lt;xxx:city&gt;Manhattan Beach&lt;/xxx:city&gt;
        &lt;xxx:state&gt;CA&lt;/xxx:state&gt;
        &lt;xxx:zip&gt;90266&lt;/xxx:zip&gt;
      &lt;/xxx:Customer&gt;
    &lt;/wst:Put&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt; </eg>
        </example>
        <p>The following shows the corresponding response message indicating
success:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:To&gt;http://www.fabrikam123.example.org/sender&lt;/wsa:Address&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/PutResponse
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:0000010e-0000-0000-C000-000000000047
    &lt;/wsa:MessageID&gt;
    &lt;wsa:RelatesTo&gt;
      uuid:00000000-0000-0000-C000-000000000047
    &lt;/wsa:RelatesTo&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:PutResponse/&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt; </eg>
        </example>
      </div2>
      <div2 id="Delete">
        <head>Delete</head>
        <p>This specification defines one Web service operation (Delete) for deleting
a resource in its entirety.</p>
        <p>The Delete request message MUST be of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/Delete

<kw>[Body]</kw>
  &lt;wst:Delete ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:Delete&gt;</eg>
        </example>
        <p>The following describes additional, normative constraints on the outline
listed above:</p>
        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:Delete </label>
            <def>
              <p>
               This is a REQUIRED element that has no defined child element 
               content. However, it MAY include child element content as 
               defined by an extension(s).
              </p>
            </def>
          </gitem>

        </glist>
        <p>A Delete request MUST be targeted at the resource to be deleted as
 described in <specref ref="Notations_and_Terminology"/> of this
specification.</p>
        <p>Implementations may respond with a fault message using the standard fault
codes defined in WS-Addressing (e.g., <code>wsa:ActionNotSupported</code>).
Other components of the outline above are not further constrained by this
specification.</p>
        <p>A successful Delete operation invalidates the current representation
associated with the targeted resource.</p>
        <p>If the resource accepts a Delete request, it MUST reply with a response of
the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/DeleteResponse

<kw>[Body]</kw>
  &lt;wst:DeleteResponse ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:DeleteResponse&gt;</eg>
        </example>
        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:DeleteResponse </label>
            <def>
              <p>
               This REQUIRED element MAY contain extension elements.
              </p>
            </def>
          </gitem>
        </glist>

        <p> 
         Other components of the outline above are not further constrained 
         by this specification.
        </p>

        <p>The following shows a sample SOAP envelope containing a Delete
request:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:ReplyTo&gt;
      &lt;wsa:Address&gt;
        http://www.fabrikam123.example.org/sender
      &lt;/wsa:Address&gt;
    &lt;/wsa:ReplyTo&gt;
    &lt;wsa:To&gt;http://www.example.org/pushport&lt;/wsa:To&gt;
    &lt;xxx:CustomerID wsa:IsReferenceParameter="true"&gt;
      732199
    &lt;/xxx:CustomerID&gt;
    &lt;xxx:Region wsa:IsReferenceParameter="true"&gt;
      EMEA
    &lt;/xxx:Region&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/Delete
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:00000000-0000-0000-C000-000000000049
    &lt;/wsa:MessageID&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:Delete/&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt; </eg>
        </example>
        <p>The following shows the corresponding response message indicating
success:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:To&gt;http://www.fabrikam123.example.org/sender&lt;/wsa:Address&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/DeleteResponse
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:0000010e-0000-0000-C000-000000000049
    &lt;/wsa:MessageID&gt;
    &lt;wsa:RelatesTo&gt;
      uuid:00000000-0000-0000-C000-000000000049
    &lt;/wsa:RelatesTo&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:DeleteResponse/&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt; </eg>
        </example>
      </div2>
    </div1>
    <div1 id="Resource_Factory_Operations">
      <head>Resource Factory Operations</head>
      <div2 id="Factory_Create">
        <head>Create</head>
        <p>This specification defines one Web service operation (Create) for creating
    a resource and providing its initial representation. In some cases, the
    initial representation MAY constitute the representation of a logical
    constructor for the resource and may thus differ structurally from the
    representation returned by Get or the one required by Put. This is because
    the parameterization requirement for creating a resource is often distinct
    from the steady-state representation of the resource. Implementations
    should provide metadata which describes the use of the representation and how
    it relates to the resource which is created, but such mechanisms are beyond
    the scope of this specification. The resource factory that receives a
    Create request will allocate a new resource that is initialized from the
    presented representation. The new resource will be assigned a
    service-determined endpoint reference that is returned in the response
    message.</p>
        <p>The Create request message MUST be of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/Create

<kw>[Body]</kw>
  &lt;wst:Create ...&gt;
    <emph>xs:any</emph>*
  &lt;/wst:Create&gt;</eg>
        </example>
        <p>
         The following describes additional, normative constraints on the 
         outline listed above:
        </p>

        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:Create </label>
            <def>
              <p>
               This REQUIRED element MAY contain zero or more child elements.
               If this element does not contain a child element then the 
               resource will be created using default values.  The first 
               child element, if present, MUST be the literal resource 
               representation, a representation of the constructor for the 
               resource, or other instructions for creating the resource.  
               Additional extension elements MAY be included only after 
               the mandated first child element.
              </p>
            </def>
          </gitem>
        </glist>

        <p>A Create request MUST be targeted at a resource factory capable of
    creating the desired new resource. This factory is distinct from the resource
    being created (which by definition does not exist prior to the successful
    processing of the Create request message).</p>
        <p>In addition to the standard fault codes defined in WS-Addressing,
    implementations MAY use the fault code wst:InvalidRepresentation if the
    presented representation is invalid for the target resource. 
    See <specref ref="Faults"/>.</p>
        <p>Other components of the outline above are not further constrained by this
    specification.</p>
        <p>If the resource factory accepts a Create request, it MUST reply with a
    response of the following form:</p>
        <example>
          <eg><kw>[Action]</kw>
  http://www.w3.org/2009/02/ws-tra/CreateResponse

<kw>[Body]</kw>
  &lt;wst:CreateResponse ...&gt;
    &lt;wst:ResourceCreated&gt;<emph>endpoint-reference</emph>&lt;/wst:ResourceCreated&gt;
    <emph>xs:any</emph>*
  &lt;/wst:CreateResponse&gt;</eg>
        </example>
        <glist>
          <gitem>
            <label> <kw>[Body]</kw>/wst:CreateResponse </label>
            <def>
              <p>
               This REQUIRED element MUST have as its first child element 
               an Endpoint Reference (wst:ResourceCreated element) to the 
               newly created resource. 
              </p>

              <p>
               A service MUST also return the current 
               representation of the new resource as the second child 
               of the wst:CreateResponse element if the
               created representation logically differs from the 
               representation sent in the Create request message. That is, 
               the initial representation is returned if one or more 
               values present in Create message was specifically 
               overridden with a different value during resource
               creation. If default values are used to complete a resource
               creation which were not present in the Create message, then 
               this does not constitute a logical difference. 
              </p>

              <p>
               As an optimization and as a service to the requestor, the 
               wst:CreateResponse element of the response message SHOULD be 
               empty, other than the ResourceCreated element, if the created 
               representation does not logically differ from the 
               representation sent in the Create request message and there
               are no eextension elements; that is, 
               if the service accepted the new representation or
               creation instructions verbatim. Such a response indicates 
               that the request was completely successful 
               (assuming no intervening mutating
               operations are performed). A service MAY return the current
               representation of the resource as the second child of the 
               wst:CreateResponse element even in this case, however.
              </p>

              <p>
               Additional extension elements MAY be included after the 
               element representing the resource.
              </p>

            </def>
          </gitem>

          <gitem>
            <label> <kw>[Body]</kw>/wst:CreateResponse/wst:ResourceCreated </label>
            <def>
              <p>
               This required element MUST contain a resource reference for the
               newly created resource. This resource reference, represented 
               as an endpoint reference as defined in WS-Addressing, MUST 
               identify the resource for future Get, Put, and Delete 
               operations.
              </p>
            </def>
          </gitem>

        </glist>
        <p>Other components of the outline above are not further constrained by this
    specification.</p>
        <p>The following shows a sample SOAP envelope containing a Create
    request:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:ReplyTo&gt;
      &lt;wsa:Address&gt;
        http://www.fabrikam123.example.org/sender
      &lt;/wsa:Address&gt;
    &lt;/wsa:ReplyTo&gt;
    &lt;wsa:To&gt;http://www.example.org/pushport/CustomerSpace&lt;/wsa:To&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/Create
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:00000000-0000-0000-C000-000000000048
    &lt;/wsa:MessageID&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:Create&gt;
      &lt;xxx:Customer&gt;
        &lt;xxx:first&gt;Roy&lt;/xxx:first&gt;&lt;xxx:last&gt;Hill&lt;/xxx:last&gt;
        &lt;xxx:address&gt;123 Main Street&lt;/xxx:address&gt;
        &lt;xxx:city&gt;Manhattan Beach&lt;/xxx:city&gt;
        &lt;xxx:state&gt;CA&lt;/xxx:state&gt;
        &lt;xxx:zip&gt;90266&lt;/xxx:zip&gt;
      &lt;/xxx:Customer&gt;
    &lt;/wst:Create&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt;  </eg>
        </example>
        <p>The following shows the corresponding response message indicating
    success:</p>
        <example>
          <eg>&lt;s:Envelope  
    xmlns:s="http://www.w3.org/2003/05/soap-envelope" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:wst="http://www.w3.org/2009/02/ws-tra" 
    xmlns:xxx="http://fabrikam123.example.com/resource-model" &gt;
  &lt;s:Header&gt;
    &lt;wsa:To&gt;http://www.fabrikam123.example.org/sender&lt;/wsa:Address&gt;
    &lt;wsa:Action&gt;
      http://www.w3.org/2009/02/ws-tra/CreateResponse
    &lt;/wsa:Action&gt;
    &lt;wsa:MessageID&gt;
      uuid:0000010e-0000-0000-C000-000000000048
    &lt;/wsa:MessageID&gt;
    &lt;wsa:RelatesTo&gt;
      uuid:00000000-0000-0000-C000-000000000048
    &lt;/wsa:RelatesTo&gt;
  &lt;/s:Header&gt;
  &lt;s:Body&gt;
    &lt;wst:CreateResponse&gt;
      &lt;wst:ResourceCreated&gt;
        &lt;wsa:Address&gt;http://www.example.org/pushport&lt;/wsa:Address&gt;
        &lt;wsa:ReferenceParameters&gt;
          &lt;xxx:CustomerID&gt;732199&lt;/xxx:CustomerID&gt;
          &lt;xxx:Region&gt;EMEA&lt;/xxx:Region&gt;
        &lt;/wsa:ReferenceParameters&gt;
      &lt;/wst:ResourceCreated&gt;
    &lt;/wst:CreateResponse&gt;
  &lt;/s:Body&gt;
&lt;/s:Envelope&gt;</eg>
        </example>
      </div2>
    </div1>
    <div1 id="Faults">
      <head>Faults</head>
      <p>All fault messages defined in this specification MUST be sent according to
    the rules and usage described in  <loc href="http://www.w3.org/TR/2006/REC-ws-addr-soap-20060509/">WS-Addressing 1.0 SOAP Binding</loc>
    Section 6 for encoding SOAP 1.1 and SOAP 1.2 faults.
    The <kw>[action]</kw> property below SHOULD be used for faults 
    defined in this specification:</p>
      <example>
        <eg><loc href="http://www.w3.org/2009/02/ws-tra/fault">http://www.w3.org/2009/02/ws-tra/fault</loc></eg>
      </example>
      <div2 id="InvalidRepresentation">
        <head>InvalidRepresentation</head>
        <p>This fault is returned when an incorrect representation is sent in a
    wst:Put or wst:Create message. </p>
        <table id="Table2" border="1" cellpadding="5">
          <tbody>
            <tr>
              <th align="left"><kw>[Code]</kw></th>
              <td>s:Sender</td>
            </tr>
            <tr>
              <th align="left"><kw>[Subcode]</kw></th>
              <td>wst:InvalidRepresentation</td>
            </tr>
            <tr>
              <th align="left"><kw>[Reason]</kw></th>
              <td>The supplied representation is invalid</td>
            </tr>
            <tr>
              <th align="left"><kw>[Detail]</kw></th>
              <td>none</td>
            </tr>
          </tbody>
        </table>
      </div2>
    </div1>
    <div1 id="Security_Considerations">
      <head>Security Considerations</head>
      <p>It is strongly recommended that the communication between services be
    secured using the mechanisms described in <bibref ref="WsSec"/>.</p>
      <p>In order to properly secure messages, the body (even if empty) and all
    relevant headers need to be included in the signature. Specifically, the
    WS-Addressing header blocks, WS-Security timestamp, and any header blocks
    resulting from a <code>&lt;wsa:ReferenceParameters&gt;</code> in references
    need to be signed along with the body in order to "bind" them together and
    prevent certain types of attacks.</p>
      <p>If a requestor is issuing multiple messages to a resource reference, then
    it is recommended that a security context be established using the mechanisms
    described in WS-Trust and WS-SecureConversation. It is further recommended
    that if shared secrets are used, message-specific derived keys also be used
    to protect the secret from crypto attacks.</p>
      <p>The access control semantics of resource references is out-of-scope of
    this specification and are specific to each resource reference. Similarly,
    any protection mechanisms on resource references independent of transfer
    (e.g. embedded signatures and encryption) are also out-of-scope.</p>
      <p>It is recommended that the security considerations of WS-Security also be
    considered.</p>
      <p>While a comprehensive listing of attacks is not feasible, the following
    list summarizes common classes of attacks that apply to this protocol and
    identifies the mechanism(s) to prevent/mitigate the attacks.</p>
      <ulist>
        <item>
          <p>
            <emph>Replay</emph> -  Messages, or portions of messages, can be
     replayed in an attempt to gain access or disrupt services. Freshness
     checks such as timestamps, digests, and sequences can be used to detect
     duplicate messages.
    </p>
        </item>
        <item>
          <p>
            <emph>Invalid tokens</emph> - There are a number of token attacks
     including certificate authorities, false signatures, and PKI attacks.
     Care should be taken to ensure each token is valid (usage window, digest,
     signing authority, revocation, ...), and that the appropriate delegation
      policies are in compliance.</p>
        </item>
        <item>
          <p>
            <emph>Man-in-the-middle</emph> - The message exchanges in this
     specification could be subject to man-in-the-middle attacks so care
     should be taken to reduce possibilities here such as establishing a
     secure channel and verifying that the security tokens user represent
     identities authorized to speak for, or on behalf of, the desired resource
     reference.</p>
        </item>
        <item>
          <p>
            <emph>Message alteration</emph> - Alteration is prevented by
     including signatures of the message information using WS-Security. Care
     should be taken to review message part references to ensure they haven't
     been forged (e.g. ID duplication).</p>
        </item>
        <item>
          <p>
            <emph>Message disclosure</emph> - Confidentiality is preserved by
     encrypting sensitive data using WS-Security.</p>
        </item>
        <item>
          <p>
            <emph>Key integrity</emph> - Key integrity is maintained by using
     the strongest algorithms possible (by comparing secured policies - see
      <bibref ref="WsPolicy"/>
      and <bibref ref="WsSecPolicy"/>
      and by using derived keys (<bibref ref="WsSecConv"/>).
    </p>
        </item>
        <item>
          <p>
            <emph>Authentication</emph> - Authentication is established using
     the mechanisms described in WS-Security and WS-Trust. Each message is
     authenticated using the mechanisms described in WS-Security.</p>
        </item>
        <item>
          <p>
            <emph>Accountability</emph> - Accountability is a function of the
     type of and string of the key and algorithms being used. In many cases, a
     strong symmetric key provides sufficient accountability. However, in some
     environments, strong PKI signatures are required.</p>
        </item>
        <item>
          <p>
            <emph>Availability</emph> - All reliable messaging services are
     subject to a variety of availability attacks. Replay detection is a
     common attack and it is recommended that this be addressed by the
     mechanisms described in WS-Security. Other attacks, such as network-level
     denial of service attacks are harder to avoid and are outside the scope
     of this specification. That said, care should be taken to ensure that
     minimal state is saved prior to any authenticating sequences.</p>
        </item>
      </ulist>
    </div1>
    <div1 id="acks">
      <head>Acknowledgements</head>
      <p>
    This specification has been developed as a result of joint
    work with many individuals and teams, including: 
      Ashok Malhotra (Oracle Corp.),
      Asir Vedamuthu (Microsoft Corp.),
      Bob Freund (Hitachi, Ltd.),
      Doug Davis (IBM),
      Fred Maciel (Hitachi, Ltd.),
      Geoff Bullen (Microsoft Corp.),
      Gilbert Pilz (Oracle Corp.),
      Greg Carpenter (Microsoft Corp.),
      Jeff Mischkinsky (Oracle Corp.),
      Katy Warr (IBM),
      Li Li (Avaya Communications),
      Mark Little (Red Hat),
      Prasad Yendluri (Software AG),
      Sreedhara Narayanaswamy (CA),
      Sumeet Vij (Software AG),
      Vikas Varma (Software AG),
      Wu Chou (Avaya Communications),
      Yves Lafon (W3C)
   </p>
    </div1>
    <div1 id="refs">
      <head>References</head>
      <blist>
        <bibl key="RFC 2119" id="Rfc2119" href="http://www.ietf.org/rfc/rfc2119.txt">
          <titleref>
      Key words for use in RFCs to Indicate Requirement Levels
     </titleref>
     , S. Bradner, Harvard University, March 1997.
    </bibl>
        <bibl key="SOAP 1.1" id="Soap11" href="http://www.w3.org/TR/2000/NOTE-SOAP-20000508/">
          <titleref>
      Simple Object Access Protocol (SOAP) 1.1
     </titleref>
     , D. Box, et al, May 2000.
    </bibl>
        <bibl key="SOAP 1.2" id="Soap12" href="http://www.w3.org/TR/soap12-part1/">
          <titleref>
      SOAP Version 1.2 Part 1: Messaging Framework
     </titleref>
     , M. Gudgin, et al, June 2003.
    </bibl>

    <bibl key="WS-Addressing" id="AddrCore"
     href="http://www.w3.org/2005/08/addressing/">
      <titleref>
       W3C Recommendation, "Web Services Addressing 1.0 (WS-Addressing)"
      </titleref>
      , May 2006.
    </bibl>


    <bibl key="WS-Policy" id="WsPolicy" 
     href="http://www.w3.org/TR/ws-policy/">
      <titleref>
       W3C Recommendation, "Web Services Policy 1.5 - Framework"
     </titleref>
     , September 2007.
    </bibl>

        <bibl key="WS-SecureConversation" id="WsSecConv">
     href="http://schemas.xmlsoap.org/ws/2005/02/sc/">
     <titleref>
      Web Services Secure Conversation Language (WS-SecureConversation)
     </titleref>
     , S. Anderson, et al, February 2005.
    </bibl>
        <bibl key="WS-Security" id="WsSec" href="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-soap-message-security-1.0.pdf">
          <titleref>
      Web Services Security: SOAP Message Security 1.0
     </titleref>
     , OASIS standard.
    </bibl>
        <bibl key="WS-SecurityPolicy" id="WsSecPolicy" href="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy">
          <titleref>
      G. Della-Libera, et al, "Web Services Security Policy Language (WS-SecurityPolicy), Version 1.1" 
     </titleref>
     , July 2005.
    </bibl>
        <bibl key="WSDL 1.1" id="Wsdl11" href="http://www.w3.org/TR/2001/NOTE-wsdl-20010315">
          <titleref>
      Web Services Description Language (WSDL) 1.1
     </titleref>
     , E. Christensen, et al, March 2001.
    </bibl>
        <bibl key="XML Infoset" id="XMLInfoSet" href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">
          <titleref>
      J. Cowan, et al, "XML Information Set"
     </titleref>
     , February 2004.
    </bibl>
        <bibl key="XML Schema, Part 1" id="XmlSchemaPart1" href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">
          <titleref>
      XML Schema Part 1: Structures
     </titleref>
     , H. Thompson, et al, October 2004.
    </bibl>
        <bibl key="XML Schema, Part 2" id="XmlSchemaPart2" href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">
          <titleref>
      XML Schema Part 2: Datatypes
     </titleref>
     , James Clark, et al, November 1999.
    </bibl>
      </blist>
    </div1>
  </body>
  <back>
    <div1 id="Appendix_I__E2_80_93_XSD">
      <head>XML Schema</head>

       <p>
        A normative copy of the XML Schema <bibref ref='XmlSchemaPart1'/>,
        <bibref ref='XmlSchemaPart2'/> description for this specification may be
        retrieved from the following address:
       </p>
    
       <example>
        <eg><loc href='http://www.w3.org/2009/02/ws-tra/transfer.xsd'>http://www.w3.org/2009/02/ws-tra/transfer.xsd</loc></eg>
       </example>
    
      <p>A non-normative copy of the XML schema is listed below for
    convenience.</p>
      <example>
        <eg>&lt;xs:schema 
  targetNamespace="http://www.w3.org/2009/02/ws-tra"
  xmlns:tns="http://www.w3.org/2009/02/ws-tra"
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:wsa="http://www.w3.org/2005/08/addressing"
  elementFormDefault="qualified"
  blockDefault="#all" &gt;
 
  &lt;xs:import
    namespace="http://www.w3.org/2005/08/addressing"
    schemaLocation="http://www.w3.org/2006/03/addressing/ws-addr.xsd" /&gt;
 
  &lt;xs:element name="Get"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

  &lt;xs:element name="GetResponse"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="1" maxOccurs="unbounded" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 
  &lt;xs:element name="Put"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="1" maxOccurs="unbounded" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

  &lt;xs:element name="PutResponse"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="1" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 
  &lt;xs:element name="Delete"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;

  &lt;xs:element name="DeleteResponse"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="0" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 
  &lt;xs:element name="Create"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:any minOccurs="0" maxOccurs="unbounded" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 
  &lt;xs:element name="CreateResponse"&gt;
    &lt;xs:complexType&gt;
      &lt;xs:sequence&gt;
        &lt;xs:element name="ResourceCreated" type="wsa:EndpointReferenceType" /&gt;
        &lt;xs:any minOccurs="0" namespace="##other" processContents="lax" /&gt;
      &lt;/xs:sequence&gt;
      &lt;xs:anyAttribute namespace="##other" processContents="lax" /&gt;
    &lt;/xs:complexType&gt;
  &lt;/xs:element&gt;
 
&lt;/xs:schema&gt;  </eg>
      </example>
    </div1>
    <div1 id="Appendix_II__E2_80_93_WSDL">
      <head>WSDL</head>
      <p>A normative copy of the WSDL <bibref ref="Wsdl11"/> description
    for this specification may be retrieved from the following address:</p>
      <example>
        <eg><loc href="http://www.w3.org/2009/02/ws-tra/transfer.wsdl">http://www.w3.org/2009/02/ws-tra/transfer.wsdl</loc></eg>
      </example>
      <p>A non-normative copy of the WSDL description is listed below for
    convenience.</p>
      <example>
        <eg>&lt;wsdl:definitions 
    targetNamespace="http://www.w3.org/2009/02/ws-tra" 
    xmlns:tns="http://www.w3.org/2009/02/ws-tra" 
    xmlns:wsa="http://www.w3.org/2005/08/addressing"
    xmlns:wsam="http://www.w3.org/2007/05/addressing/metadata"
    xmlns:wsdl="http://schemas.xmlsoap.org/wsdl/" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
 
  &lt;wsdl:types&gt;
    &lt;xs:schema&gt;
      &lt;xs:import 
        namespace="http://www.w3.org/2009/02/ws-tra"
        schemaLocation="http://www.w3.org/2009/02/ws-tra/transfer.xsd"
        /&gt;
    &lt;/xs:schema&gt;
  &lt;/wsdl:types&gt;
 
  &lt;wsdl:message name="GetMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:Get"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="GetResponseMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:GetResponse"/&gt;
  &lt;/wsdl:message&gt;
 
  &lt;wsdl:message name="PutMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:Put"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="PutResponseMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:PutResponse"/&gt;
  &lt;/wsdl:message&gt;
 
  &lt;wsdl:message name="DeleteMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:Delete"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="DeleteResponseMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:DeleteResponse"/&gt;
  &lt;/wsdl:message&gt;
 
  &lt;wsdl:message name="CreateMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:Create"/&gt;
  &lt;/wsdl:message&gt;
  &lt;wsdl:message name="CreateResponseMessage"&gt;
    &lt;wsdl:part name="Body" element="tns:CreateResponse"/&gt;
  &lt;/wsdl:message&gt;
 
  &lt;wsdl:portType name="Resource"&gt;
    &lt;wsdl:documentation&gt;
      This port type defines a resource that may be read, 
      written, and deleted.
    &lt;/wsdl:documentation&gt;
    &lt;wsdl:operation name="Get"&gt;
      &lt;wsdl:input 
        message="tns:GetMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/Get"/&gt;
      &lt;wsdl:output 
        message="tns:GetResponseMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/GetResponse" /&gt;
    &lt;/wsdl:operation&gt;
    &lt;wsdl:operation name="Put"&gt;
      &lt;wsdl:input 
        message="tns:PutMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/Put" /&gt;
      &lt;wsdl:output 
        message="tns:PutResponseMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/PutResponse" /&gt;
    &lt;/wsdl:operation&gt;
    &lt;wsdl:operation name="Delete"&gt;
      &lt;wsdl:input 
        message="tns:DeleteMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/Delete" /&gt;
      &lt;wsdl:output 
        message="tns:DeleteResponseMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/DeleteResponse" /&gt;
    &lt;/wsdl:operation&gt;
  &lt;/wsdl:portType&gt;
 
  &lt;wsdl:portType name="ResourceFactory"&gt;
    &lt;wsdl:documentation&gt;
      This port type defines a Web service that can create new 
      resources.
    &lt;/wsdl:documentation&gt;
    &lt;wsdl:operation name="Create"&gt;
      &lt;wsdl:input 
        message="tns:CreateMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/Create" /&gt;
      &lt;wsdl:output 
        message="tns:CreateResponseMessage"
        wsam:Action="http://www.w3.org/2009/02/ws-tra/CreateResponse" /&gt;
    &lt;/wsdl:operation&gt;
  &lt;/wsdl:portType&gt;
    
&lt;/wsdl:definitions&gt;</eg>
      </example>
    </div1>

    <div1 id="ChangeLog">
     <head>Change Log</head>
  
     <table border="1">
      <tbody>
       <tr>
        <th> Data </th>
        <th> Author </th>
        <th> Description </th>
       </tr>
       <tr>
        <td> 2009/03/04 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6391">6391</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/04 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6588">6588</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/04 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6519">6519</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/09 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6398">6398</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/11 </td>
        <td> DD </td>
        <td> Added change log </td>
       </tr>
       <tr>
        <td> 2009/03/11 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6641">6641</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/11 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6425">6425</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/23 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6666">6666</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/03/24 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6648">6648</loc>
        </td>
       </tr>
       <tr>
        <td> 2009/04/20 </td>
        <td> DD </td>
        <td> Added resolution of issue 
         <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6730">6730</loc>
        </td>
       </tr>
        <tr>
          <td> 2009/04/22 </td>
          <td> KW </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6739">6739</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/12 </td>
          <td> DD </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6433">6433</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/13 </td>
          <td> DD </td>
          <td> Added resolution of issues
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6672">6672</loc>,
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6673">6673</loc>,
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6594">6594</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/19 </td>
          <td> DD </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6849">6849</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/19 </td>
          <td> DD </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6907">6907</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/21 </td>
          <td> DD </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6674">6674</loc>
          </td>
        </tr>
        <tr>
          <td> 2009/05/27 </td>
          <td> DD </td>
          <td> Added resolution of issue 
            <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=6906">6906</loc>
          </td>
        </tr>
      </tbody>
     </table>
    </div1>

  </back>
</spec>


