W3C home > Mailing lists > Public > public-ws-policy-eds@w3.org > September 2006

2006/ws/policy ws-policyattachment-4-wsdl20.jpg,NONE,1.1 ws-policy-attachment.html,1.44,1.45 ws-policy-attachment.xml,1.41,1.42

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
Message-Id: <E1GS7Oa-0001te-8x@lionel-hutz.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) &lt;wsdl20:description&gt;
+(02) &hellip;
+(03)   &lt;Policy wsu:Id="common"&gt;
+(04)     &lt;mtom:OptimizedMimeSerialization wsp:Optional="true"/&gt;
+(05)     &lt;wsap:UsingAddressing /&gt;
+(06)   &lt;/Policy&gt;
+
+(07)   &lt;Policy wsu:Id="secure"&gt;
+(08)     &lt;ExactlyOne&gt;
+(09)       &lt;sp:TransportBinding&gt;&hellip;&lt;/sp:TransportBinding&gt;
+(10)       &lt;sp:AsymmetricBinding&gt;&hellip;&lt;/sp:AsymmetricBinding &gt;
+(11)     &lt;/ExactlyOne&gt;
+(12)   &lt;/Policy&gt;
+
+(13)   &lt;wsdl20:binding name="SecureBinding"
+(14)       interface="tns:RealTimeDataInterface" &gt;
+(15)     &lt;PolicyReference URI="#secure" /&gt;
+(16)     &lt;wsdl20:operation name="GetRealQuote" &gt;&hellip;&lt;/wsdl20:operation&gt;
+(17)     &hellip;
+(18)   &lt;/wsdl20:binding&gt;
+
+(19)   &lt;wsdl20:service name="RealTimeDataService"
+(20)        interface="tns:RealTimeDataInterface" &gt;
+(21)     &lt;wsdl20:endpoint name="RealTimeDataPort" 
+(22)          binding="tns:SecureBinding"&gt;
+(23)       &lt;PolicyReference URI="#common" /&gt;
+(24)       &hellip;
+(25)     &lt;/wsdl20:endpoint&gt;
+(26)   &lt;/wsdl20:service&gt;
+(27) &hellip;
+(28) &lt;/wsdl20:description&gt;</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) &lt;Policy&gt;
+(02)  &lt;All&gt;
+(03)     &lt;Policy&gt;
+(04)       &lt;mtom:OptimizedMimeSerialization wsp:Optional="true"/&gt;
+(05)       &lt;wsap:UsingAddressing /&gt;
+(06)     &lt;/Policy&gt;
+(07)     &lt;Policy&gt;
+(08)       &lt;ExactlyOne&gt;
+(09)         &lt;sp:TransportBinding&gt;&hellip;&lt;/sp:TransportBinding&gt;
+(10)         &lt;sp:AsymmetricBinding&gt;&hellip;&lt;/sp:AsymmetricBinding &gt;
+(11)       &lt;/ExactlyOne&gt;
+(12)     &lt;/Policy&gt;
+(13)   &lt;/All&gt;
+(14) &lt;/Policy&gt;</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

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 20:27:49 UTC