- 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