- From: Asir Vedamuthu via cvs-syncmail <cvsmail@w3.org>
- Date: Tue, 26 Sep 2006 07:30:24 +0000
- To: public-ws-policy-eds@w3.org
Update of /sources/public/2006/ws/policy In directory hutz:/tmp/cvs-serv6722 Modified Files: ws-policy-attachment.html ws-policy-attachment.xml Added Files: ws-policyattachment-4-wsdl20.jpg Log Message: Created 5. WS-Policy Attachment for WSDL 2.0 per action item 2 from the Bellevue F2F. This section is based on a contribution from BEA, IBM, Microsoft and Oracle. Index: ws-policy-attachment.xml =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-attachment.xml,v retrieving revision 1.41 retrieving revision 1.42 diff -u -d -r1.41 -r1.42 --- ws-policy-attachment.xml 25 Sep 2006 09:24:00 -0000 1.41 +++ ws-policy-attachment.xml 26 Sep 2006 07:30:20 -0000 1.42 @@ -92,10 +92,9 @@ To enable Web Services Policy to be used with existing Web service technologies, this specification describes the use of these general-purpose mechanisms with WSDL [<bibref - ref="WSDL11" />] definitions and UDDI [<bibref + ref="WSDL11" />, <bibref ref="WSDL20"/>] definitions and UDDI [<bibref ref="UDDIAPI20" />, <bibref ref="UDDIDataStructure20" />, - <bibref ref="UDDI30" />]. WSDL [<bibref ref="WSDL20" />] is - deferred.</p> + <bibref ref="UDDI30" />].</p> </div1> <div1 id='NotationsTerminology'> <head>Notations and Terminology</head> @@ -168,6 +167,16 @@ </tr> </thead> <tbody> + <tr> + <td> + <code>mtom</code> + </td> + <td> + <code>http://schemas.xmlsoap.org/ws/2004/09/policy/optimizedmimeserialization</code> + </td> + <td>[<loc href="http://131.107.72.15/MTOM_Service_Indigo/" + >WS-OptimizedSerializationPolicy</loc>]</td> + </tr> <tr><td><code>rmp</code></td> <td><code>http://docs.oasis-open.org/ws-rx/wsrmp/200602</code></td> <td>[<bibref ref='WS-RMPolicy'/>]</td> @@ -180,6 +189,15 @@ <td><code>http://www.w3.org/2005/08/addressing</code></td> <td>[<bibref ref='WS-Addressing'/>]</td> </tr> + <tr> + <td> + <code>wsap</code> + </td> + <td> + <code>http://www.w3.org/2006/05/addressing/wsdl</code> + </td> + <td>[<bibref ref="WS-AddressingPolicy"/>]</td> + </tr> <tr><td><code>wsdl11</code></td> <td><code>http://schemas.xmlsoap.org/wsdl/</code></td> <td>[<bibref ref='WSDL11'/>]</td> @@ -192,7 +210,7 @@ <td><code>http://schemas.xmlsoap.org/wsdl/soap12/</code></td> <td>[<bibref ref='WSDL11BindingforSOAP12'/>]</td> </tr> - <tr><td><code>wsp</code></td> + <tr><td><code>(none), wsp</code></td> <td><code>&nsuri;</code></td> <td>This specification</td> </tr> @@ -964,6 +982,622 @@ </div3> </div2> </div1> + + <div1 id="ws-policy-attachment-for-wsdl20"> + <head>WS-Policy Attachment for WSDL 2.0</head> + <p>This section describes a mechanism for associating policy expressions with Web + service constructs in WSDL 2.0. The mechanism consists of:</p> + <ulist> + <item>A model for attaching policies to WSDL 2.0 constructs. The model defines:<ulist> + <item>A partitioning of WSDL constructs into service, endpoint, operation + and message policy subjects.</item> + <item>The semantics of attaching a policy to each policy subject.</item> + <item>How to combine policies attached to more than one WSDL component + within a single policy subject.</item> + </ulist></item> + <item>An XML representation of policy expressions attached to WSDL 2.0 constructs + and annotating those policy expressions as required extensions using the + WSDL-defined extensibility flag <code>@wsdl20:required</code>.</item> + </ulist> + <p><specref ref="XMLNamespaces"/> lists all the XML Namespaces that are used in this section. (XML + elements without a namespace prefix are from the Web Services Policy XML Namespace.)</p> + <div2 id="wsdl20-example"> + <head>Example</head> + <p>The example below illustrates the use of WS-Policy Attachment for WSDL 2.0:</p> + <example id='table-wsdl20-example'> + <head>Example Policy Attached to WSDL 2.0</head> + <eg xml:space="preserve">(01) <wsdl20:description> +(02) … +(03) <Policy wsu:Id="common"> +(04) <mtom:OptimizedMimeSerialization wsp:Optional="true"/> +(05) <wsap:UsingAddressing /> +(06) </Policy> + +(07) <Policy wsu:Id="secure"> +(08) <ExactlyOne> +(09) <sp:TransportBinding>…</sp:TransportBinding> +(10) <sp:AsymmetricBinding>…</sp:AsymmetricBinding > +(11) </ExactlyOne> +(12) </Policy> + +(13) <wsdl20:binding name="SecureBinding" +(14) interface="tns:RealTimeDataInterface" > +(15) <PolicyReference URI="#secure" /> +(16) <wsdl20:operation name="GetRealQuote" >…</wsdl20:operation> +(17) … +(18) </wsdl20:binding> + +(19) <wsdl20:service name="RealTimeDataService" +(20) interface="tns:RealTimeDataInterface" > +(21) <wsdl20:endpoint name="RealTimeDataPort" +(22) binding="tns:SecureBinding"> +(23) <PolicyReference URI="#common" /> +(24) … +(25) </wsdl20:endpoint> +(26) </wsdl20:service> +(27) … +(28) </wsdl20:description></eg></example> + <p>The <code>SecureBinding</code> WSDL binding description describes a binding for + an interface that provides real-time quotes and book information on securities. + (The prefixes <code>wsdl20</code> and <code>tns</code> are used here to denote + the Web Services Description Language 2.0 XML Namespace and the target namespace + of this WSDL document respectively.) To require the use of security for these + offerings, a <termref def="policy_expression">policy expression</termref> that requires the use of either transport-level + or message-level security is attached to the binding description. The <termref def="policy_expression">policy expression</termref> + applies to any message exchange associated with any + <code>endpoint</code> that supports this binding description.</p> + <p>The <code>RealTimeDataPort</code> WSDL endpoint description describes an endpoint + that supports the <code>SecureBinding</code> WSDL binding description. To + require the use of addressing and allow the use of optimization (Optimized MIME + Serialization as defined in the MTOM specification [<bibref ref="MTOM"/>]), a <termref def="policy_expression">policy expression</termref> that + represents the addressing requirement and optimization capability is attached to + the endpoint description. The <termref def="policy_expression">policy expression</termref> applies to any message exchange + associated with the <code>RealTimeDataPort</code> endpoint.</p> + <p>In the above example, the <code>#secure</code> and <code>#common</code> <termref def="policy_expression">policy expressions</termref> + attached to the <code>SecureBinding</code> WSDL binding and + <code>RealTimeDataPort</code> WSDL endpoint descriptions collectively apply + to any message exchange associated with the RealTimeDataPort endpoint. The + example below represents the combination of these two <termref def="policy">policies</termref>, that is, the + <termref def="effective_policy">effective policy</termref> for the <code>RealTimeDataPort</code> endpoint.</p> + <example id='table-wsdl20-effective-policy-example'> + <head>Effective Policy for the RealTimeDataPort endpoint</head> + <eg xml:space="preserve">(01) <Policy> +(02) <All> +(03) <Policy> +(04) <mtom:OptimizedMimeSerialization wsp:Optional="true"/> +(05) <wsap:UsingAddressing /> +(06) </Policy> +(07) <Policy> +(08) <ExactlyOne> +(09) <sp:TransportBinding>…</sp:TransportBinding> +(10) <sp:AsymmetricBinding>…</sp:AsymmetricBinding > +(11) </ExactlyOne> +(12) </Policy> +(13) </All> +(14) </Policy></eg></example> + </div2> + <div2 id="attaching-policy-expressions"> + <head>Attaching Policy Expressions</head> + <p>Policy attachment points in a WSDL 2.0 document are:</p> + <ulist> + <item> + <code>wsdl20:service</code> + </item> + <item> + <code>wsdl20:endpoint</code> + </item> + <item> + <code>wsdl20:binding</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:operation</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:fault</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:operation/wsdl20:input</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:operation/wsdl20:output</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:operation/wsdl20:infault</code> + </item> + <item> + <code>wsdl20:binding/wsdl20:operation/wsdl20:outfault</code> + </item> + <item> + <code>wsdl20:interface</code> + </item> + <item> + <code>wsdl20:interface/wsdl20:operation</code> + </item> + <item> + <code>wsdl20:interface/wsdl20:fault</code> + </item> + <item> + <code>wsdl20:interface/wsdl20:operation/wsdl20:input</code> + </item> + <item> + <code>wsdl20:interface/wsdl20:operation/wsdl20:output</code> + </item> + <item><code>wsdl20:interface/wsdl20:operation/wsdl20:infault</code> and</item> + <item> + <code>wsdl20:interface/wsdl20:operation/wsdl20:outfault.</code> + </item> + </ulist> + <p>Any of these elements <rfc2119>MAY</rfc2119> have one or more <code>Policy</code> or + <code>PolicyReference</code> child elements.</p> + <p>Policy attachment points in a WSDL document are associated with specific <termref def="policy_subject">policy subjects</termref> + as described in the table below. There are four <termref def="policy_subject">policy subjects</termref> in + WSDL: the service policy subject, the endpoint policy subject, the operation + policy subject and the message policy subject. When a <termref def="policy_expression">policy expression</termref> is + attached to a <termref def="policy_subject">policy subject</termref> in a WSDL document, capabilities and requirements + represented by the <termref def="policy_expression">policy expression</termref> apply to any message exchange or message + associated with (or described by) the <termref def="policy_subject">policy subject</termref>.</p> + <div> + <table id="association-of-policy-attachment-points-with-policy-subjects" border="1" cellspacing='0' cellpadding='5'> + <caption>Association of Policy Attachment Points with Policy Subjects</caption> + <thead> + <tr> + <th>Policy Attachment Point in a WSDL document</th> + <th>WSDL Component</th> + <th>Policy Subject</th> + </tr> + </thead> + <tbody> + <tr> + <td> + <code>wsdl20:service</code> + </td> + <td>Service</td> + <td>Service</td> + </tr> + <tr> + <td> + <code>wsdl20:endpoint</code> + </td> + <td>Endpoint</td> + <td rowspan="3">Endpoint</td> + </tr> + <tr> + <td> + <code>wsdl20:binding</code> + </td> + <td>Binding</td> + </tr> + <tr> + <td> + <code>wsdl20:interface</code> + </td> + <td>Interface</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:operation</code> + </td> + <td>Binding Operation</td> + <td rowspan="2">Operation</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:operation</code> + </td> + <td>Interface Operation</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:operation/ wsdl20:input</code> + </td> + <td>Binding Message Reference </td> + <td rowspan="2">Message for an input message</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:operation/wsdl20:input</code> + </td> + <td>Interface Message Reference whose {direction} property is + ‘in’</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:operation/ wsdl20:output</code> + </td> + <td>Binding Message Reference </td> + <td rowspan="2">Message for an output message</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:operation/ wsdl20:output</code> + </td> + <td>Interface Message Reference whose {direction} property is + ‘out’</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:fault</code> + </td> + <td>Binding Fault</td> + <td rowspan="4">Message for an input fault message</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:operation/ wsdl20:infault</code> + </td> + <td>Binding Fault Reference</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:fault</code> + </td> + <td>Interface Fault</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:operation/wsdl20:infault</code> + </td> + <td>Interface Fault Reference whose {direction} property is + ‘in’</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:fault</code> + </td> + <td>Binding Fault</td> + <td rowspan="4">Message for an output fault message</td> + </tr> + <tr> + <td> + <code>wsdl20:binding/wsdl20:operation/wsdl20:outfault</code> + </td> + <td>Binding Fault Reference</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:fault</code> + </td> + <td>Interface Fault</td> + </tr> + <tr> + <td> + <code>wsdl20:interface/wsdl20:operation/wsdl20:outfault</code> + </td> + <td>Interface Fault Reference whose {direction} property is + ‘out’</td> + </tr> + </tbody> + </table> + </div> + <p>For a WSDL component, the attached <termref def="policy">policy</termref> (extension to the WSDL component model + is described in <specref ref="extension-to-wsdl-component-model"/>) is + considered an intrinsic part of the WSDL component definition and applies to all + uses of that definition. For example, when attached to a WSDL Interface + component, capabilities and requirements represented by a <termref def="policy">policy</termref> apply to all + the use of this WSDL Interface description. When attached to a WSDL Binding + component, capabilities and requirements represented by a <termref def="policy">policy</termref> apply to all + the Endpoints that support this binding description.</p> + <p>A <termref def="policy">policy</termref> associated with a service policy subject applies to any message exchange + (that is explicitly described by the Interface component in the Service + component's {interface} property) using any of the endpoints offered by that + service. </p> + <p><termref def="policy">Policies</termref> associated with an endpoint policy subject apply to any message exchange + (that is explicitly described by the Interface component in the Service + component’s {interface} property of the Endpoint component’s {parent} property) + made using that endpoint. Given that a WSDL Interface component may be used by + one or more binding descriptions, it is <rfc2119>RECOMMENDED</rfc2119> that only a <termref def="policy">policy</termref> + containing <termref def="policy_assertion">policy assertions</termref> that apply to any possible binding description + should be attached.</p> + <p><termref def="policy">Policies</termref> associated with an operation policy subject apply to the message + exchange described by that operation. Given that a WSDL Interface Operation + component may be used by one or more binding descriptions, it is <rfc2119>RECOMMENDED</rfc2119> + that only a <termref def="policy">policy</termref> containing <termref def="policy_assertion">policy assertions</termref> that apply to any possible + binding description should be attached.</p> + <p><termref def="policy">Policies</termref> associated with a message policy subject apply to that message (input, + output or fault). Given that a WSDL Interface Message Reference, Interface + Fault, Interface Fault Reference components may be used by one or more binding + descriptions, it is <rfc2119>RECOMMENDED</rfc2119> that only a <termref def="policy">policy</termref> containing <termref def="policy_assertion">policy assertions</termref> + that apply to any possible binding should be attached.</p> + <p><termref def="policy">Policies</termref> <rfc2119>MAY</rfc2119> be attached at different levels of the WSDL component hierarchy. A + message exchange with an endpoint <rfc2119>MAY</rfc2119> be described by the <termref def="policy">policies</termref> in all four + <termref def="policy_subject">policy subjects</termref> simultaneously.</p> + <p>The common mechanism of associating a <termref def="policy_expression">policy expression</termref> with a <termref def="policy_subject">policy subject</termref> is + to attach a reference to the <termref def="policy_expression">policy expression</termref> to the <termref def="policy_subject">policy subject</termref>. As + described in the WS-Policy specification [<bibref ref="WS-Policy"/>], a reference to a <termref def="policy_expression">policy expression</termref> is + represented using the <code>PolicyReference</code> element. A policy attachment + to a WSDL element is represented by attaching a <code>PolicyReference</code> + element as a child element of the WSDL element.</p> + <p><termref def="policy_expression">Policy expressions</termref> can be included within a WSDL document or may reside external + to a WSDL document. If including <termref def="policy_expression">policy expressions</termref> with a WSDL document is the + chosen approach, it is <rfc2119>RECOMMENDED</rfc2119> that the <code>Policy</code> elements are + included as children of the <code>wsdl20:description</code> element after the + <code>wsdl20:types</code> element and referenced using the + <code>PolicyReference</code> elements.</p> + <p>To mandate the processing of a <termref def="policy_expression">policy expression</termref> attached to a policy attachment + point in a WSDL document, the expression <rfc2119>MUST</rfc2119> be marked as required using the + <code>@wsdl20:required</code> flag.</p> + <p>If the <code>Policy</code> elements are included as children of the + <code>wsdl20:description</code> element, these Policy elements <rfc2119>MUST NOT</rfc2119> be + marked as required using the <code>@wsdl20:required</code>. (Note: these + <termref def="policy_expression">policy expressions</termref> may be included as children of the <code>wsdl20:description</code> + element and may not be attached to any policy attachment point in a WSDL + document.)</p> + </div2> + <div2 id="extension-to-wsdl-component-model"> + <head>Extension to WSDL Component Model</head> + <p>This document adds an optional {policy} property to the following WSDL + components:</p> + <ulist> + <item>Service</item> + <item>Endpoint</item> + <item>Binding</item> + <item>Binding Operation</item> + <item>Binding Fault</item> + <item>Binding Message Reference</item> + <item>Binding Fault Reference</item> + <item>Interface</item> + <item>Interface Operation</item> + <item>Interface Fault</item> + <item>Interface Message Reference</item> + <item>Interface Fault Reference</item> + </ulist> + <p>The {policy} property, when present, represents the capabilities and requirements + as a <termref def="policy">policy</termref>. The value of the {policy} property is a <termref def="policy">policy</termref> as defined by + Section 3 - Policy Model in the WS-Policy specification [<bibref ref="WS-Policy"/>]. The following table + describes the mapping from XML representation to the {policy} property.</p> + <div> + <table border="1" cellspacing="0" cellpadding="5" + id="mapping-from-xml-representation-to-policy-property"> + <caption>Mapping from XML representation to the {policy} property</caption> + <thead> + <tr> + <th>Component</th> + <th>Value</th> + </tr> + </thead> + <tbody> + <tr> + <td>Service</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the <code>wsdl20:service</code> + element.</td> + </tr> + <tr> + <td>Endpoint</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the <code>wsdl20:endpoint</code> + element.</td> + </tr> + <tr> + <td>Binding</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the <code>wsdl20:binding</code> + element.</td> + </tr> + <tr> + <td>Binding Operation</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:binding/wsdl20:operation</code> element.</td> + </tr> + <tr> + <td>Binding Fault</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:binding/wsdl20:fault</code> element.</td> + </tr> + <tr> + <td>Binding Message Reference</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:binding/wsdl20:operation/wsdl20:input</code> or + <code>wsdl20:binding/wsdl20:operation/wsdl20:output</code> + element.</td> + </tr> + <tr> + <td>Binding Fault Reference</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:binding/wsdl20:operation/wsdl20:infault</code> + or <code>wsdl20:binding/wsdl20:operation/wsdl20:outfault</code> + element.</td> + </tr> + <tr> + <td>Interface</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the <code>wsdl20:interface</code> + element.</td> + </tr> + <tr> + <td>Interface Operation</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:interface/wsdl20:operation</code> element, if + any.</td> + </tr> + <tr> + <td>Interface Fault</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:interface/wsdl20:fault</code> element.</td> + </tr> + <tr> + <td>Interface Message Reference</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:interface/wsdl20:operation/wsdl20:input</code> + or <code>wsdl20:interface/wsdl20:operation/wsdl20:output</code> + element.</td> + </tr> + <tr> + <td>Interface Fault Reference</td> + <td>A <termref def="policy">policy</termref> corresponding to the <termref def="merge">merge</termref> of <code>Policy</code> or + <code>PolicyReference</code> elements, if any, in the + <code>[children]</code> of the + <code>wsdl20:interface/wsdl20:operation/wsdl20:infault</code> + or + <code>wsdl20:interface/wsdl20:operation/wsdl20:outfault</code> + element.</td> + </tr> + </tbody> + </table> + </div> + </div2> + <div2 id="effective-policy"> + <head>Effective Policy</head> + <p>The following diagram illustrates the four <termref def="policy_subject">policy subjects</termref> in WSDL and how the + <termref def="effective_policy">effective policy</termref> is calculated for each of these <termref def="policy_subject">policy subjects</termref>.</p> + <p> + <graphic alt="Policy Subjects and Effective Policy in WSDL 2.0" + source="ws-policyattachment-4-wsdl20.jpg"/> + </p> + <p>If multiple <termref def="policy">policies</termref> are attached to WSDL components that collectively represent + a <termref def="policy_subject">policy subject</termref> then the + <termref def="effective_policy">effective policy</termref> of these <termref def="policy">policies</termref> applies. (For + example, there is a <termref def="policy">policy</termref> attached to an Endpoint component that describes the + component and there is a <termref def="policy">policy</termref> attached to the Binding component in the + Endpoint component’s {binding} property.) The <termref def="effective_policy">effective policy</termref> is the <termref def="merge">merge</termref> of + the <termref def="policy">policies</termref> that are attached to the same <termref def="policy_subject">policy subject</termref>. The rest of this + section describes how the <termref def="effective_policy">effective policy</termref> is calculated for each of these + <termref def="policy_subject">policy subjects</termref>.</p> + <div3 id="service-policy-subject"> + <head>Service Policy Subject</head> + <p>The <termref def="effective_policy">effective policy</termref> of a service policy subject is the <termref def="policy">policy</termref> in the + {policy} property of a Service component that describes the service.</p> + </div3> + <div3 id="endpoint-policy-subject"> + <head>Endpoint Policy Subject</head> + <p>The <termref def="effective_policy">effective policy</termref> of an endpoint policy subject is the <termref def="merge">merge</termref> of <termref def="policy">policies</termref> + in the {policy} properties of:</p> + <ulist> + <item>An Endpoint component that describes the endpoint,</item> + <item>The Binding component in the Endpoint component’s {binding} property, </item> + <item>The Interface component in the Service component’s {interface} + property of the Endpoint component’s {parent} property and</item> + <item>The Interface components in the {extended interfaces} property of the + Interface component in the Service component’s {interface} property of + the Endpoint component’s {parent} property.</item> + </ulist> + </div3> + <div3 id="operation-policy-subject"> + <head>Operation Policy Subject</head> + <p>If the Binding component has an Interface component in the {interface} + property, then the <termref def="effective_policy">effective policy</termref> of an operation policy subject <rfc2119>MAY</rfc2119> be + calculated by <termref def="merge">merging</termref> the <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Operation component that describes the operation and</item> + <item>The Binding Operation component (if any) whose {interface operation} + property has the Interface Operation component.</item> + </ulist> + <p>If the Binding component does not have an Interface component in the + {interface} property, then the <termref def="effective_policy">effective policy</termref> of an operation policy + subject <rfc2119>MUST</rfc2119> be calculated in relation to a specific endpoint, and is the + <termref def="policy">policy</termref> in the {policy} property of the Interface Operation component that + describes the operation. </p></div3> + <div3 id="message-policy-subject-input"> + <head>Message Policy Subject (input message)</head> + <p>If the Binding component has an Interface component in the {interface} + property, then the <termref def="effective_policy">effective policy</termref> of an input message <rfc2119>MAY</rfc2119> be calculated by + <termref def="merge">merging</termref> the <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Message Reference component that describes the input + message and</item> + <item>The Binding Message Reference component whose {interface message + reference} property has the Interface Message Reference + component.</item> + </ulist> + <p>If the Binding component does not have an Interface component in the + {interface} property, then the <termref def="effective_policy">effective policy</termref> of an input message <rfc2119>MUST</rfc2119> be + calculated in relation to a specific endpoint, and is the <termref def="policy">policy</termref> in the + {policy} property of the Interface Message Reference component that + describes the input message.</p> + </div3> + <div3 id="message-policy-subject-output"> + <head>Message Policy Subject (output message)</head> + <p>If the Binding component has an Interface component in the {interface} + property, then the <termref def="effective_policy">effective policy</termref> of an output message <rfc2119>MAY</rfc2119> be calculated + by <termref def="merge">merging</termref> the <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Message Reference component that describes the output + message and</item> + <item>The Binding Message Reference component whose {interface message + reference} property has the Interface Message Reference + component.</item> + </ulist> + <p>If the Binding component does not have an Interface component in the + {interface} property, then the effective policy of an output message <rfc2119>MUST</rfc2119> be + calculated in relation to a specific endpoint, and is the <termref def="policy">policy</termref> in the + {policy} property of the Interface Message Reference component that + describes the output message.</p> + </div3> + <div3 id="message-policy-subject-input-fault"> + <head>Message Policy Subject (input fault message)</head> + <p>If the Binding component has an Interface component in the {interface} + property, then the <termref def="effective_policy">effective policy</termref> of an input fault message <rfc2119>MAY</rfc2119> be + calculated by <termref def="merge">merging</termref> the <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Fault Reference component that describes the input fault + message, </item> + <item>The Interface Fault component in the Interface Fault Reference + component’s {interface fault} property, </item> + <item>The Binding Fault Reference component whose {interface fault + reference} property has the Interface Fault Reference component and</item> + <item>The Binding Fault component whose {interface fault} property has the + Interface Fault component in the Interface Fault Reference component’s + {interface fault} property.</item> + </ulist> + <p>If the Binding component does not have an Interface component in the + {interface} property, then the <termref def="effective_policy">effective policy</termref> of an input fault message + <rfc2119>MUST</rfc2119> be calculated in relation to a specific endpoint, and is the <termref def="merge">merge</termref> of + <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Fault Reference component that describes the input fault + message and</item> + <item>The Interface Fault component in the Interface Fault Reference + component’s {interface fault} property.</item> + </ulist> + </div3> + <div3 id="message-policy-subject-output-fault"> + <head>Message Policy Subject (output fault message)</head> + <p>If the Binding component has an Interface component in the {interface} + property, then the <termref def="effective_policy">effective policy</termref> of an output fault message <rfc2119>MAY</rfc2119> be + calculated by <termref def="merge">merging</termref> the <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Fault Reference component that describes the output + fault message,</item> + <item>The Interface Fault component in the Interface Fault Reference + component’s {interface fault} property, </item> + <item>The Binding Fault Reference component whose {interface fault + reference} property has the Interface Fault Reference component and</item> + <item>The Binding Fault component whose {interface fault} property has the + Interface Fault component in the Interface Fault Reference component’s + {interface fault} property for the endpoint.</item> + </ulist> + <p>If the Binding component does not have an Interface component in the + {interface} property, then the <termref def="effective_policy">effective policy</termref> of an output fault message + <rfc2119>MUST</rfc2119> be calculated in relation to a specific endpoint, and is the <termref def="merge">merge</termref> of + <termref def="policy">policies</termref> in the {policy} properties of:</p> + <ulist> + <item>The Interface Fault Reference component that describes the output + fault message and</item> + <item>The Interface Fault component in the Interface Fault Reference + component’s {interface fault} property.</item> + </ulist> + </div3> + </div2> + </div1> + <div1 id='AttachingPoliciesUsingUDDI'> <head>Attaching Policies Using UDDI</head> @@ -1539,7 +2173,14 @@ </div2> <div2 id='Informative-References'> <head>Other References</head> - <blist> + <blist> + <bibl key="MTOM" id="MTOM" href="http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/"> + <titleref>SOAP Message Transmission Optimization Mechanism</titleref>, M. Gudgin, N. + Mendelsohn, M. Nottingham and H. Ruellan, Editors. World Wide Web Consortium, 25 January + 2005. This version of the SOAP Message Transmission Optimization Mechanism Recommendation + is http://www.w3.org/TR/2005/REC-soap12-mtom-20050125/. The <loc + href="http://www.w3.org/TR/soap12-mtom/">latest version of SOAP Message Transmission + Optimization Mechanism</loc> is available at http://www.w3.org/TR/soap12-mtom/. </bibl> <bibl id='SCC14N' key='SCC14N' href='http://uddi.org/pubs/SchemaCentricCanonicalization-20050523.htm'> <titleref>Schema Centric XML Canonicalization Version 1.0</titleref>, S. Aissi, A. Hately, and M. Hondo, @@ -1553,6 +2194,14 @@ 1.0</loc> is available at http://uddi.org/pubs/SchemaCentricCanonicalization.htm. </bibl> + <bibl key="WS-Addressing Policy" id="WS-AddressingPolicy" + href="http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/"> + <titleref>Web Services Addressing 1.0 - WSDL Binding</titleref>, M. Gudgin, M. Hadley, T. + Rogers and Ü. Yalçinalp, Editors. World Wide Web Consortium, 29 May 2006. This version of + the Web Services Addressing 1.0 - WSDL Binding is + http://www.w3.org/TR/2006/CR-ws-addr-wsdl-20060529/. The <loc + href="http://www.w3.org/TR/ws-addr-wsdl">latest version of Web Services Addressing 1.0 - + WSDL Binding</loc> is available at http://www.w3.org/TR/ws-addr-wsdl. </bibl> <bibl id='WS-MetadataExchange' key='WS-MetadataExchange' href='http://schemas.xmlsoap.org/ws/2004/09/mex/'> <titleref>Web Services Metadata Exchange (WS-MetadataExchange)</titleref>, K. Ballinger, et al, @@ -1591,6 +2240,13 @@ XML-Signature Syntax and Processing</loc> is available at http://www.w3.org/TR/xmldsig-core/. </bibl> + <bibl key="XOP" id="XOP" href="http://www.w3.org/TR/2005/REC-xop10-20050125/"> + <titleref>XML-binary Optimized Packaging</titleref>, M. Gudgin, N. Mendelsohn, M. + Nottingham and H. Ruellan, Editors. World Wide Web Consortium, 25 January 2005. This + version of the XML-binary Optimized Packaging Recommendation is + http://www.w3.org/TR/2005/REC-xop10-20050125/. The <loc href="http://www.w3.org/TR/xop10/" + >latest version of XML-binary Optimized Packaging</loc> is available at + http://www.w3.org/TR/xop10/. </bibl> </blist> </div2> </div1> @@ -1959,6 +2615,15 @@ <loc href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3709">3709</loc>: Editorial corrections from UDDI team. </td> </tr> + <tr> + <td>20060925</td> + <td>ASV</td> + <td>Created <specref ref="ws-policy-attachment-for-wsdl20"/> per action item <loc + href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/37">2</loc> from the + Bellevue F2F. This section is based on a <loc + href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Sep/0037.html" + >contribution</loc> from BEA, IBM, Microsoft and Oracle.</td> + </tr> </tbody> </table> </inform-div1> --- NEW FILE: ws-policyattachment-4-wsdl20.jpg --- (This appears to be a binary file; contents omitted.) Index: ws-policy-attachment.html =================================================================== RCS file: /sources/public/2006/ws/policy/ws-policy-attachment.html,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- ws-policy-attachment.html 25 Sep 2006 09:24:00 -0000 1.44 +++ ws-policy-attachment.html 26 Sep 2006 07:30:20 -0000 1.45 @@ -1,6 +1,5 @@ -<!DOCTYPE html - PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> -<html lang="en-US"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Web Services Policy 1.5 - Attachment</title><style type="text/css"> +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"> +<html lang="en-US"><head><META http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Web Services Policy 1.5 - Attachment</title><style type="text/css"> code { font-family: monospace; } div.constraint, @@ -48,24 +47,40 @@ div.exampleWrapper { margin: 4px } div.exampleHeader { font-weight: bold; [...2830 lines suppressed...] + <td rowspan="1" colspan="1">Implemented the <a href="http://www.w3.org/2006/09/14-ws-policy-minutes.html#item12">resolution</a> for issue <a href="http://www.w3.org/Bugs/Public/show_bug.cgi?id=3709">3709</a>: Editorial corrections from UDDI team. - </td></tr></tbody></table><br></div></div></body></html> \ No newline at end of file + </td> + </tr> + <tr> + <td rowspan="1" colspan="1">20060925</td> + <td rowspan="1" colspan="1">ASV</td> + <td rowspan="1" colspan="1">Created <a href="#ws-policy-attachment-for-wsdl20"><b>5. WS-Policy Attachment for WSDL 2.0</b></a> per action item <a href="http://www.w3.org/2005/06/tracker/wspolicyeds/actions/37">2</a> from the + Bellevue F2F. This section is based on a <a href="http://lists.w3.org/Archives/Public/public-ws-policy/2006Sep/0037.html">contribution</a> from BEA, IBM, Microsoft and Oracle.</td> + </tr> + </tbody> + </table><br> + </div> +</div> +</body></html> \ No newline at end of file
Received on Tuesday, 26 September 2006 07:30:36 UTC