- From: Yalcinalp, Umit <umit.yalcinalp@sap.com>
- Date: Fri, 1 Dec 2006 14:34:05 -0800
- To: "David Illsley" <david.illsley@uk.ibm.com>, "Gilbert Pilz" <Gilbert.Pilz@bea.com>
- Cc: <public-ws-addressing@w3.org>
See below. > -----Original Message----- > From: public-ws-addressing-request@w3.org > [mailto:public-ws-addressing-request@w3.org] On Behalf Of > David Illsley > Sent: Friday, Dec 01, 2006 5:03 AM > To: Gilbert Pilz > Cc: public-ws-addressing@w3.org > Subject: Re: First cut policy write up > > > I spent a while yesterday going over this proposal with Katy, > Paco, and > our WS-Policy development team and we have a couple of concerns. > > 1. There is no way to mandate addressing in this proposal > i.e. In normal > form (once the wsp:Optionals etc have been expanded) the presence of > wsaw:UsingAddressing only indicates addressing is supported. > We need a way > to say addressing is required. I don't have a proposal yet to > deal with > this. > I am really not following this point. Could you clarify? If you do not use wsp:optional and use the standard attachment mechanisms, why wouldn't WS-Addressing be NOT required. IF there is no alternative in the policy, the intersection algorithm and thus the client will treat WS-Addressing assertion as an addition that it needs to understood and thus make behavior required. > 2. I was a little unclear reading the proposal and then the > examples if > the AnonymousResponses element implies addressing is > supported.. hence 2a > and 2b below > > 2a. AnonymousResponses implies addressing supported > As noted in elsewhere in the thread, AnonymousResponses and > UsingAddressing won't intersect which doesn't fit with the policy > processing model. > e.g. A server which only supports > AnonymousResponses only > includes the AnonymousResponses assertion. A client doesn't > care and has > the UsingAddressing assertion. > These assertions clearly don't intersect, and > requiring any policy subject which supports anon and non-anon > to include > all 3 as wsp:Optional="true" will significantly increase the > number of > alternatives on normalisation. It also includes alternatives in which > addressing is not supported which is not the intent. > > 2b. AnonymousResponses does not imply addressing supported - > UsingAddressing also needed to indicate addressing suppot > In this case, to allow a client policy which only has the > UsingAddressing assertion to intersect with a server policy with the > AnonymousResponses assertion, the AnonymousResponses > assertion would have > to be wsp:Optional="true". If addressing support (UsingAddressing) is > itself optional then when this is expanded to normal form > there will be an > invalid alternative containing just the AnonymousResponses assertion. > > The solution (and proposal) we arrived at for 2 is to use > proper nested > policy[1] (not parameterised policy[2] as discussed on the > Monday call). > This seems appropriate as the type of responses supported is > dependant on > the fact that addressing is supported. The use of nested > WS-Policy for > this situation is explicitly called out in the WS-Policy Primer[3]. > Extract: "Best practice: represent dependent > behaviors that apply > to the same policy subject using nested policy assertions. " > I agree that the nested policy is what should be followed here. I was about to write a very similar email, you beat me to it. > This follows the path of 2b where the UsingAddressing (or a > replacement > given 1 above) is used to indicate addressing support and the other > assertions clarify. It has the advantage that none of the generated > alternatives when taken to normal form are invalid. > > This would look like*: > 1. Addressing supported, no statement about response EPRs supported > <wsaw:UsingAddressing> > <wsp:Policy /> <!- required by WS-Policy Framework > Section 4.3.2 --> > </wsaw:UsingAddressing> > > 2. Addressing supported, AnonymousResponses explicitly supported > <wsaw:UsingAddressing> > <wsp:Policy> > <wsaw:AnonymousResponses wsp:Optional="true" /> > </wsp:Policy> > </wsaw:UsingAddressing> > > 3. Addressing supported, NonAnonymousResponses explicitly supported > <wsaw:UsingAddressing> > <wsp:Policy> > <wsaw:NonAnonymousResponses wsp:Optional="true" /> > </wsp:Policy> > </wsaw:UsingAddressing> > > 4. Addressing supported, Anonymous and NonAnonymousResponses > explicitly > supported > <wsaw:UsingAddressing> > <wsp:Policy> > <wsaw:AnonymousResponses wsp:Optional="true" /> > <wsaw:NonAnonymousResponses wsp:Optional="true" /> > </wsp:Policy> > </wsaw:UsingAddressing> > > A client which requires explicit support of anonymous > responses would then > have a policy of: > <wsaw:UsingAddressing> > <wsp:Policy> > <wsaw:AnonymousResponses/> > </wsp:Policy> > </wsaw:UsingAddressing> > > which would intersect with 2 and 4. > > David > > * N.B. There is a discussion to be had about whether the above > wsaw:AnonymousResponse and wsaw:NonAnonymousResponses should be > wsp:Ignorable rather than wsp:Optional but wsp:Ignorable is > new and less > well understood so agreement on a nested approach seems like > a good first > step. > > [1] > http://www.w3.org/TR/2006/WD-ws-policy-20061117/#nested_policy > _expression > [2] > http://www.w3.org/TR/2006/WD-ws-policy-20061117/#policy_assert > ion_parameter > [3] > http://www.w3.org/TR/2006/WD-ws-policy-primer-20061018/#levera > ging-nested-policy > > David Illsley > Web Services Development > MP211, IBM Hursley Park, SO21 2JN > +44 (0)1962 815049 (Int. 245049) > david.illsley@uk.ibm.com > > > > From: > "Gilbert Pilz" <Gilbert.Pilz@bea.com> > To: > <public-ws-addressing@w3.org> > Date: > 11/29/2006 11:20 PM > Subject: > First cut policy write up > > > Here's a first cut at the write up for the 11/27 consensus on > CR33. My > apologies if I have mis-phrased anything. The aim is to get > to a point > where > we can discuss the actual wording of the proposal rather than > the models > and > concepts . . . > > ---------- > > [ rephrase first sentence of section 3 ] > > [ strike sections 3.1.2 and 3.2 ] > > 3.2 WS-Policy Assertions > > The other mechanism for indicating that a binding or endpoint > [ note: open > issue on policy attachment options ] conforms to the WS-Addressing > specification is through the use of the Web Services Policy - > Framework > [WS-Policy] and Web Services Policy - Attachment [WS-PolicyAttachment] > specifications. [ insert appropriate references ]. This specification > defines > the following three policy assertions: > > 3.2.1 UsingAddressing Assertion > > In addition to the use described in section 3.1, the > wsaw:UsingAddressing > element MAY also be used as a policy assertion. The > wsaw:UsingAddressing > policy assertion is semantically equivalent to the > wsaw:UsingAddressing > WSDL > extension. Note that the semantics indicated by the use of > wsdl:required="true" in the WSDL extension (i.e. the fact > that Message > Addressing Properties are required for all request messages) are not > available > to the wsaw:UsingAddressing policy assertion. The absence of the > wsaw:UsingAddressing policy assertion within a policy > alternative does > *not* > indicate that addressing is not supported; it simply > indicates the lack of > any > affirmation of support for WS-Addressing. > > 3.2.1 AnonymousResponses Assertion > > This element MAY be used as a policy assertion. 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 *not* 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. > > 3.2.2 NonAnonymousResponses Assertion > > This element MAY be used as a policy assertion. 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; > it's 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 *not* indicate that the endpoint will not > accept request > messages with response endpoint EPRs that contain something > other than the > > anonymous URI address. > > 3.2.3 Policy Examples > > The above policy assertions are designed to be used either > independently > or in > conjunction with one another. The following examples illustrate some > possible > combinations: > > <wsp:Policy> > <wsaw:UsingAddressing> > </wsp:Policy> > > This policy indicates that the subject supports the use of > WS-Addressing. > If a > fault is generated as a result of sending a request message > to an endpoint > with this effective policy, that fault will not be due to the > simple fact > that > the request message includes WS-Addressing headers. Note that > nothing is > said > about either supporting or not supporting the use of anonymous or > non-anonymous URIs. > > <wsp:Policy> > <wsaw:AnonymousResponses> > </wsp:Policy> > > This policy indicates that the subject supports the use of > WS-Addressing > and, > in particular, will accept request messages with response > endpoint EPRs > that > contain the anonymous URI. If a fault is generated as a > result of sending > a > request message to an endpoint with this effective policy, > that fault will > not > be due to the fact that the request message includes > WS-Addressing headers > nor > will it be due to the fact that the response endpoint EPRs contain the > anonymous URI as an address. Note that nothing is said about either > supporting > or not supporting the use of non-anonymous URIs. > > <wsp:Policy> > <wsaw:UsingAddressing> > <wsaw:AnonymousResponses> > </wsp:Policy> > > The above policy is semantically equivalent to the previous > example. Note > that > this example could be the result of combining two separate > policies (e.g. > one > attached at a wsdl:binding and the other at a wsdl20:endpoint (or > wsdl11:port)) into a single effective policy. > > <wsp:Policy> > <wsaw:NonAnonymousResponses> > </wsp:Policy> > > <wsp:Policy> > <wsaw:UsingAddressing> > <wsaw:NonAnonymousResponses> > </wsp:Policy> > > The above two policies are identical ways of expressing the > fact that the > subject supports the use of WS-Addressing and, in particular, > will accept > request messages with response endpoint EPRs that contain > URIs other than > the > anonymous URI. If a fault is generated as a result of sending > a request > message to an endpoint with either of these policies, that > fault will not > be > due to the fact that the request message includes > WS-Addressing headers > nor > will it be due to the mere fact that the response endpoint > EPRs contain a > non-anonymous URI as an address. Note that nothing is said > about either > supporting or not supporting the use of the anonymous URI. > > ------------- > > - gp > > > > >
Received on Friday, 1 December 2006 22:43:21 UTC