- 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
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"><binding name="reservationSOAPBinding" type="tns:reservationInterface"> ! <soap:binding style="document" transport="http://schemas.xmlsoap.org/soap/http" /> ! <wsaw:UsingAddressing wsdl:required="true" /> ! <operation name="opCheckAvailability"> ! <soap:operation soapaction="http://greath.example.com/2004/wsdl/resSvc/opCheckAvailability" /> ! <input> ! <soap:body use="literal" /> ! </input> ! <output> ! <soap:body use="literal" /> ! </output> ! <wsaw:Anonymous>required</wsaw:Anonymous> ! </operation> ! </binding> ! </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"><wsp:Policy> + <wsaw:Addressing wsp:Optional="true"> + <wsp:Policy></wsp:Policy> + </wsaw:Addressing> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing, no statement on supported response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsaw:Addressing> + <wsp:Policy></wsp:Policy> + </wsaw:Addressing> + </wsp:Policy></eg> + </example> + <example> + <head>Subject supports WS-Addressing, explicitly (and optionally) supports anonymous and non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsaw:Addressing wsp:Optional="true"> + <wsp:Policy> + <wsaw:AnonymousResponses wsp:Optional="true"/> + <wsaw:NonAnonymousResponses wsp:Optional="true"/> + </wsp:Policy> + </wsaw:Addressing> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing, requires explicit support of anonymous or non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsaw:AnonymousResponses wsp:Optional="true"/> + <wsaw:NonAnonymousResponses wsp:Optional="true"/> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing and use of non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsaw:Addressing> + <wsp:Policy> + <wsaw:NonAnonymousResponses/> + </wsp:Policy> + </wsaw:Addressing> + </wsp:Policy></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"><wsp:Policy> + <wsp:ExactlyOne> + <wsp:All/> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All/> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing, no statement on supported response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All/> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy></eg> + </example> + <example> + <head>Subject supports WS-Addressing, explicitly (and optionally) supports anonymous and non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsp:ExactlyOne> + <wsp:All/> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All/> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:AnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:NonAnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:AnonymousResponses/> + <wsaw:NonAnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing, requires explicit support of anonymous or non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:AnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:NonAnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy></eg> + </example> + <example> + <head>Subject requires WS-Addressing and use of non-anonymous response EPRs</head> + <eg xml:space="preserve"><wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:Addressing> + <wsp:Policy> + <wsp:ExactlyOne> + <wsp:All> + <wsaw:NonAnonymousResponses/> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy> + </wsaw:Addressing> + </wsp:All> + </wsp:ExactlyOne> + </wsp:Policy></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 UTC