W3C home > Mailing lists > Public > public-ws-addressing-eds@w3.org > January to March 2007

2004/ws/addressing ws-addr-wsdl.xml,1.106,1.107

From: Tony Rogers via cvs-syncmail <cvsmail@w3.org>
Date: Fri, 05 Jan 2007 14:20:37 +0000
To: public-ws-addressing-eds@w3.org
Message-Id: <E1H2pvx-0007v8-Q7@lionel-hutz.w3.org>

Update of /sources/public/2004/ws/addressing
In directory hutz:/tmp/cvs-serv30259

Modified Files:
	ws-addr-wsdl.xml 
Log Message:
Implemented the resolutions of CR33 and CR44: policy assertions for using addressing and anon/non-anon responses

Index: ws-addr-wsdl.xml
===================================================================
RCS file: /sources/public/2004/ws/addressing/ws-addr-wsdl.xml,v
retrieving revision 1.106
retrieving revision 1.107
diff -C 2 -d -r1.106 -r1.107
*** ws-addr-wsdl.xml	3 Jan 2007 12:28:34 -0000	1.106
--- ws-addr-wsdl.xml	5 Jan 2007 14:20:35 -0000	1.107
***************
*** 421,531 ****
                          detailed in section <specref ref="uaee"/>.</p>
                  </div3>
-                 <div3>
-                     <head>Other Uses of UsingAddressing Extension Element</head>
-                     <p>The wsaw:UsingAddressing element MAY also be used in other contexts (e.g., as
-                         a policy assertion in a policy framework). Its use and that of related
-                         elements and attributes including wsaw:Anonymous (see <specref
-                             ref="anonelement"/>) and wsaw:Action (see <specref ref="explicitaction"
-                         />) in such contexts is semantically equivalent to the use of
-                         wsaw:UsingAddressing as a WSDL extension.</p>
-                     <p>Note that the association of wsaw:UsingAddressing to WSDL constructs where
-                         the wsaw:UsingAddressing WSDL extension element is not allowed is not
-                         meaningful.</p>
-                 </div3>
              </div2>
!             <div2 id="anonelement">
!                 <head> Anonymous Element </head>
!                 <p> WS-Addressing defines a wsaw:Anonymous element that is only used in conjunction
!                     with wsaw:UsingAddressing (or its equivalent wsoap:module, see section <specref ref="wsdlsoapmodule"/>) element. The usage of
!                     wsaw:Anonymous element is associated with the usage constraints specified for
!                     the wsaw:UsingAddressing element. Hence, it MUST NOT contain the wsdl:required
!                     attribute. </p>
!                 <p>A WSDL or policy based service description that includes the wsaw:UsingAddressing
!                     but no wsaw:Anonymous marker makes no assertion regarding a requirement or a
!                     constraint in the use of the anonymous URI in EPRs contained in messages sent to
!                     the endpoint. In this cases, endpoint service descriptions have to rely on
!                     additional metadata, such as WSDL bindings or additional policy assertions, to
!                     indicate any requirements or restrictions on the use of the anonymous URI by
!                     clients. However, in the absence of additional metadata, clients of the endpoint
!                     MAY assume that the service endpoint follows the behavior indicated by the
!                     'optional' value of the wsaw:Anonymous marker. An endpoint SHOULD send a
!                     wsa:OnlyAnonymousAddressSupported or a wsa:OnlyNonAnonymousAddressSupported
!                     fault back to the client if a message received includes a response epr with an
!                     [address] that is unsupported by the endpoint. </p>
!                 <p>The wsaw:Anonymous element, if present, MUST have one of three distinct values
!                     that indicate three different levels of support for handling anonymous addresses
!                     in EPRs. In the following text, the term response endpoint EPR refers to the
!                     [reply endpoint] and [fault endpoint] message addressing properties
!                     collectively. </p>
!                 <ulist>
!                     <item>
!                         <p>"optional": This value indicates that a response endpoint EPR in a
!                             request message MAY contain an anonymous URI as an address. </p>
!                     </item>
!                     <item>
!                         <p>"required":This value indicates that all response endpoint EPRs in a
!                             request message MUST always use anonymous URI as an address. </p>
!                         <p>If a response endpoint EPR does not contain the anonymous URI as an
!                             address value, then a predefined InvalidAddressingHeader fault defined
!                             in Web Services Addressing 1.0 - SOAP Binding [<bibref ref="WSADDR-SOAP"
!                             />] MUST be generated. </p>
!                     </item>
!                     <item>
!                         <p>"prohibited":This value indicates that any response EPRs in a request
!                             message MUST NOT use anonymous URI as an address.</p>
!                         <p>If a response endpoint EPR contains the anonymous URI as an address
!                             value, then a predefined InvalidAddressingHeader fault defined in Web
!                             Services Addressing 1.0 - SOAP Binding [<bibref ref="WSADDR-SOAP"/>]
!                             MUST be generated. </p>
!                     </item>
!                 </ulist>
!                 <p>This element MAY appear as a child of an operation element in a binding element
!                     in WSDL 1.1, or as a binding operation extension element in WSDL 2.0.</p>
!                 <example>
!                     <head> Indicating use of anonymous addresses using wsaw:Anonymous. </head>
!                     <eg xml:space="preserve">&lt;binding name="reservationSOAPBinding" type="tns:reservationInterface"&gt;
! &nbsp; &lt;soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /&gt;
! &nbsp; &lt;wsaw:UsingAddressing wsdl:required="true" /&gt;
! &nbsp; &lt;operation name="opCheckAvailability"&gt;
! &nbsp;&nbsp;&nbsp; &lt;soap:operation soapaction="http://greath.example.com/2004/wsdl/resSvc/opCheckAvailability" /&gt;
! &nbsp;&nbsp;&nbsp; &lt;input&gt;
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal" /&gt;
! &nbsp;&nbsp;&nbsp; &lt;/input&gt;
! &nbsp;&nbsp;&nbsp; &lt;output&gt;
! &nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &lt;soap:body use="literal" /&gt;
! &nbsp;&nbsp;&nbsp; &lt;/output&gt;
! &nbsp;&nbsp;&nbsp; &lt;wsaw:Anonymous&gt;required&lt;/wsaw:Anonymous&gt;
! &nbsp; &lt;/operation&gt;
! &lt;/binding&gt;
! </eg>
!                 </example>
!                 <div3 id="wsdl20_anonymous">
!                     <head>WSDL 2.0 Component Model Changes</head>
!                     <p>Use of the Anonymous element adds the following property to the WSDL 2.0
!                         component model: </p>
!                     <ulist>
!                         <item>
!                             <p>{anonymous addresses} OPTIONAL, of type xs:string, to the Binding
!                                 Operation component.</p>
!                         </item>
!                     </ulist>
!                     <p><specref ref="tab_anonymous_Mapping"/> shows the mapping from the XML
!                         representation to the WSDL 2.0 component model.</p>
!                     <table border="1" id="tab_anonymous_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>{anonymous addresses}</td>
!                                 <td> The value of the <el>wsaw:Anonymous</el> &EII;, if present.
!                                     Otherwise, it is not present. </td>
!                             </tr>
!                         </tbody>
!                     </table>
                  </div3>
              </div2>
              <div2 id="wsdlsoapmodule">
--- 421,673 ----
                          detailed in section <specref ref="uaee"/>.</p>
                  </div3>
              </div2>
!             <div2 id="wspolicyassertions">
!                 <head>WS-Policy Assertions</head>
!                 <p>Another mechanism for indicating that a binding or endpoint <ednote>
!                         <edtext>open issue on policy attachment options</edtext>
!                     </ednote> conforms to the WS-Addressing specification is through the use of the
!                     Web Services Policy - Framework [<bibref ref="WSPolicy"/>] and Web Services
!                     Policy - Attachment [<bibref ref="WSPolicyAttachment"/>] specifications. This
!                     specification defines the following three policy assertions.</p>
!                 <div3 id="wspolicyaddressing">
!                     <head>Addressing Assertion</head>
!                     <p>The wsaw:Addressing policy assertion is a nested policy container assertion.
!                         The meaning of this assertion when present in a policy alternative is that
!                         WS-Addressing is required to communicate with the subject. In order to
!                         indicate that the subject supports WS-Addressing but does not require its
!                         use, an additional policy alternative should be provided which does not
!                         contain this assertion. This may be done in WS-Policy compact form by adding
!                         the attribute wsp:Optional="true" to the Addressing assertion. </p>
!                 </div3>
!                 <div3 id="wspolicyanonresponses">
!                     <head>AnonymousResponses Assertion</head>
!                     <p>The wsaw:AnonymousResponses element MAY be used as a policy assertion nested
!                         within the wsaw:Addressing assertion in accordance with the rules laid down
!                         by WS-Policy Framework 1.5 section 4.3.2. The appearance of this element
!                         within a policy alternative indicates that the endpoint will accept request
!                         messages with response endpoint EPRs that contain the anonymous URI
!                         ("http://www.w3.org/2005/08/addressing/anonymous") as the value of
!                         [address]. The absence of the wsaw:AnonymousResponses policy assertion
!                         within a policy alternative does <b>not</b> indicate that the endpoint will
!                         not accept request messages with response endpoint EPRs that contain the
!                         anonymous URI as an address; it simply indicates the lack of any affirmation
!                         of support for anonymous URIs. </p>
!                 </div3>
!                 <div3 id="wspolicynonanonresponses">
!                     <head>NonAnonymousResponses Assertion</head>
!                     <p>The wsaw:NonAnonymousResponses element MAY be used as a policy assertion
!                         nested within the Addressing assertion in accordance with the rules laid
!                         down by WS-Policy Framework 1.5 section 4.3.2. The appearance of this
!                         element within a policy alternative indicates that the endpoint will accept
!                         request messages with response endpoint EPRs that contain something other
!                         than the anonymous URI as the value of [address]. This assertion is
!                         deliberately vague; its presence indicates that a non-anonymous addresses
!                         might be accepted but doesn't constrain what such an address might look
!                         like. A receiver can still reject a request that contains an address that it
!                         doesn't understand or that requires a binding it doesn't support. As with
!                         the other assertions, the absence of the wsaw:NonAnonymousResponses policy
!                         assertion within a policy alternative does <b>not</b> indicate that the
!                         endpoint will not accept request messages with response endpoint EPRs that
!                         contain something other than the anonymous URI address. </p>
! 
!                 <p>NOTE: If both AnonymousResponses and NonAnonymousResponses are supported and the
!                     intention is to allow either to be used care should be taken to ensure there is
!                     an alternative which includes just AnonymousResponses as a nested assertion and
!                     an alternative with just NonAnonymousResponses as a nested assertion so that a
!                     subject which supports only one will have a compatible policy [<bibref
!                         ref="WSPolicyPrimer"/> section 3.4].</p>
!                 <p> Also, given that the lack of either of these assertions (AnonymousResponses and
!                     NonAnonymousResponses) does not indicate lack of support, it is suggested that a
!                     subject that does not have a strict compatibility requirement that an
!                     interacting subject understands or is concerned with these assertions provides
!                     an alternative without either assertion. </p>
                  </div3>
+                 <div3>
+                     <head>Examples (Compact Form)</head>
+                     <example>
+                         <head>Subject supports WS-Addressing, no statement on supported response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsaw:Addressing wsp:Optional="true"&gt;
+         &lt;wsp:Policy&gt;&lt;/wsp:Policy&gt;
+     &lt;/wsaw:Addressing&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing, no statement on supported response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsaw:Addressing&gt;
+         &lt;wsp:Policy&gt;&lt;/wsp:Policy&gt;
+     &lt;/wsaw:Addressing&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject supports WS-Addressing, explicitly (and optionally) supports anonymous and non-anonymous response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsaw:Addressing wsp:Optional="true"&gt;
+         &lt;wsp:Policy&gt;
+             &lt;wsaw:AnonymousResponses wsp:Optional="true"/&gt;
+             &lt;wsaw:NonAnonymousResponses wsp:Optional="true"/&gt;
+         &lt;/wsp:Policy&gt;
+     &lt;/wsaw:Addressing&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing, requires explicit support of anonymous or non-anonymous response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsaw:Addressing&gt;
+         &lt;wsp:Policy&gt;
+             &lt;wsp:ExactlyOne&gt;
+                 &lt;wsaw:AnonymousResponses wsp:Optional="true"/&gt;
+                 &lt;wsaw:NonAnonymousResponses wsp:Optional="true"/&gt;
+             &lt;/wsp:ExactlyOne&gt;
+         &lt;/wsp:Policy&gt;
+     &lt;/wsaw:Addressing&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing and use of non-anonymous response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsaw:Addressing&gt;
+         &lt;wsp:Policy&gt;
+             &lt;wsaw:NonAnonymousResponses/&gt;
+         &lt;/wsp:Policy&gt;
+     &lt;/wsaw:Addressing&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>                                        
+                 </div3>                
+                 <div3>
+                     <head>Examples (Normal Form)</head>
+                     <example>
+                         <head>Subject supports WS-Addressing, no statement on supported response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsp:ExactlyOne&gt;
+         &lt;wsp:All/&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All/&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+     &lt;/wsp:ExactlyOne&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing, no statement on supported response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsp:ExactlyOne&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All/&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+     &lt;/wsp:ExactlyOne&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject supports WS-Addressing, explicitly (and optionally) supports anonymous and non-anonymous response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsp:ExactlyOne&gt;
+         &lt;wsp:All/&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All/&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:AnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:NonAnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:AnonymousResponses/&gt;
+                             &lt;wsaw:NonAnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+     &lt;/wsp:ExactlyOne&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing, requires explicit support of anonymous or non-anonymous response EPRs</head>
+                         <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsp:ExactlyOne&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:AnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:NonAnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+     &lt;/wsp:ExactlyOne&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>
+                     <example>
+                         <head>Subject requires WS-Addressing and use of non-anonymous response EPRs</head>
+ <eg xml:space="preserve">&lt;wsp:Policy&gt;
+     &lt;wsp:ExactlyOne&gt;
+         &lt;wsp:All&gt;
+             &lt;wsaw:Addressing&gt;
+                 &lt;wsp:Policy&gt;
+                     &lt;wsp:ExactlyOne&gt;
+                         &lt;wsp:All&gt;
+                             &lt;wsaw:NonAnonymousResponses/&gt;
+                         &lt;/wsp:All&gt;
+                     &lt;/wsp:ExactlyOne&gt;
+                 &lt;/wsp:Policy&gt;
+             &lt;/wsaw:Addressing&gt;
+         &lt;/wsp:All&gt;
+     &lt;/wsp:ExactlyOne&gt;
+ &lt;/wsp:Policy&gt;</eg>
+                     </example>                                        
+                 </div3>                
              </div2>
              <div2 id="wsdlsoapmodule">
***************
*** 1548,1551 ****
--- 1690,1718 ----
                              href="http://www.w3.org/TR/wsdl20-adjuncts">latest version of WSDL 2.0
                              Adjuncts</loc> is available at http://www.w3.org/TR/wsdl20-adjuncts.</bibl>
+                     <bibl key="WS Policy 1.5 - Framework" id="WSPolicy"
+                         href="http://www.w3.org/TR/2006/WD-ws-policy-20061117/">
+                         <titleref>Web Services Policy 1.5 - Framework</titleref>, Asir S Vedamuthu,
+                         David Orchard, Maryann Hondo, Toufic Boubez, Prasad Yendluri, Editors. World
+                         Wide Web Consortium, 17 November 2006. This version of the WS-Policy
+                         Framework is http://www.w3.org/TR/2006/WD-ws-policy-20061117. The <loc
+                             href="http://www.w3.org/TR/ws-policy">latest version of WS Policy
+                             Framework</loc> is available at http://www.w3.org/TR/ws-policy </bibl>
+                     <bibl key="WS Policy 1.5 - Attachment" id="WSPolicyAttachment"
+                         href="http://www.w3.org/TR/2006/WD-ws-policy-attach-20061117/">
+                         <titleref>Web Services Policy 1.5 - Attachment</titleref>, Asir S Vedamuthu,
+                         David Orchard, Maryann Hondo, Toufic Boubez, Prasad Yendluri, Editors. World
+                         Wide Web Consortium, 17 November 2006. This version of the WS-Policy
+                         Attachment is http://www.w3.org/TR/2006/WD-ws-policy-attach-20061117. The <loc
+                             href="http://www.w3.org/TR/ws-policy-attach">latest version of WS Policy
+                             Attachment</loc> is available at http://www.w3.org/TR/ws-policy-attach </bibl>
+                     <bibl key="WS Policy 1.5 - Primer" id="WSPolicyPrimer"
+                         href="http://www.w3.org/TR/2006/WD-ws-policy-primer-20061018/">
+                         <titleref>Web Services Policy 1.5 - Attachment</titleref>, Asir S Vedamuthu,
+                         David Orchard, Maryann Hondo, Toufic Boubez, Prasad Yendluri, Editors. World
+                         Wide Web Consortium, 18 November 2006. This version of the WS-Policy Primer
+                         is http://www.w3.org/TR/2006/WD-ws-policy-primer-20061018. The <loc
+                             href="http://www.w3.org/TR/ws-policy-primer">latest version of WS Policy
+                             Primer</loc> is available at http://www.w3.org/TR/ws-policy-primer
+                     </bibl>
                      <bibl key="IETF RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt"
                          id="RFC2119">
Received on Friday, 5 January 2007 14:20:58 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 8 January 2008 14:19:41 GMT