- From: Anish Karmarkar <Anish.Karmarkar@oracle.com>
- Date: Sun, 16 Jan 2005 16:13:24 -0800
- To: Christopher B Ferris <chrisfer@us.ibm.com>
- CC: public-ws-addressing@w3.org
Chris, You raise a good point about the fact that there are usecases which do not lend themselves well to option 1. I would be perfectly happy to resolve this issue with option 2 and specify the extensibility point/feature as required by the WSDL 2.0 operation name mapping. I do have a question. You said: > For instance, the WS-RM specification says that in the absence of a > specified wsa:Action, that > a message carrying a wsrmSequenceAcknowledgement SOAP header block >have a particular > wsa:Action value. Given that we are talking about what happens if there is a WSDL specified (this particular issue) and there are default rules for the [action] property (specified by the WS-Addressing WSDL mappings), it will always be the case (in this particular scenario) that the [action] property is always specified (implicitly or explicitly). So, the rules specifieed by WS-RM will never kick-in. Isn't it? Or did I get the scenario wrong? Thx! -Anish -- Christopher B Ferris wrote: > Anish, > > As you know, the WS-I BP1.x constrains that the "wire sgnature" of a given > WSDL input message be unique > within the scope of a WSDL portType/interface (the "wire signature being > the QName of the child > element of the soap:Body). I argued at the time that we were discussing > the issue that I thought > it would be a mistake to impose such a constraint, that one could have > metadata carried as > SOAP header blocks (such as the wsa:Action) that could be used by the > service to determine > what action to take, etc. That the contents of the soap:Body might not be > the sole determinant > for dispatching a received message. I lost that argument, although I still > believe it to have been a > mistake. > > I see this issue as a repeat of the discussions we had in the WS-I BPWG > regarding the uniqueness > of the "wire signature". > > Just as a service could use SOAP header block metadata to augment the > contents of the > soap:Body for purposes of dispatching the received message, so too could > the contents of the > soap:Body, or other SOAP header block metadata, also be used by the > service as it sees fit > to augment the wsa:Action as a determinant for dispatching/servicing the > message. > > Furthermore, in a WSDL1.1 context, a service can have multiple ports, each > binding a possibly > different portType. Theoretically, they could all have the same > soap:location URI. Hence, it seems > to me that imposing a constraint that the wsa:Action URI for a given > message be unique for a given > portType/interface is meaningless because the same wsa:Action could be > used across the > various portTypes. > > For instance, the WS-RM specification says that in the absence of a > specified wsa:Action, that > a message carrying a wsrmSequenceAcknowledgement SOAP header block have a > particular > wsa:Action value. Let's just say that I designed my interface such that > there was an input message > and a void response, and that the wsrm:SequenceAcknowledgement header > blocks would be > carried on the response message (which had no soap:Body child element). > Each operation would > then have an output message with the same wsa:Action URI value. Seems > reasonable to me, yet > option 1 would preclude me from doing so. The requirement that wsa:Action > be unique within the > scope of a portType/interface seems arbitrary. > > I think that the question that needs to be answered is: What value does > imposing such a constraint > add? > > Cheers, > > Christopher Ferris > STSM, Emerging e-business Industry Architecture > email: chrisfer@us.ibm.com > blog: http://webpages.charter.net/chrisfer/blog.html > phone: +1 508 377 9295 > > public-ws-addressing-request@w3.org wrote on 01/10/2005 01:33:21 PM: > > >>Here are the alternatives for resolving subissue 1 in issue i017 [1] -- >>I took an action for doing this during last week's call: >> >>The subissue is about whether the value of the [action] property is >>required to be distinct within the scope of WSDL portType/interface when > > >>using WSDL to describe the Web service >> >>Please note that this is an issue only when using WSDL to describe the >>service and therefore potentially affects only the WSDL binding spec and > > >>not the core or the SOAP binding. >> >>Alternative 1: >> >>yes, it is required to be distinct within the scope of a WSDL >>portType/Interface. The spec currently states: >>"An identifier that uniquely (and opaquely) identifies the semantics >>implied by this message." >>If the values are not distinct within the portType/interface then one >>has to wonder as to why there are two distinct operations within the >>portType/interface that have the same semantics? More accurately, the >>scope should not really be the portType/interface but should also >>include the directionality of the message, similar to the operation name > > >>mapping requirement of WSDL 2.0 [2]. An added advantage of this is that, > > >>the value of the [action] property now can be used to figure out which >>WSDL-operation is being "invoked" by an incoming message at the service >>(since operation-names do not manifest themselves on the wire) -- when >>it is not clear from the contents of the SOAP Body. This has been an >>interop problem in the past which led to WS-I Basic Profile 1.0/1.1 >>requirement R2710 [3][4]. >> >>Alternative 2: >> >>no, it is not required to be distinct within the scope of a WSDL >>portType/interface. There might be reasons for allowing non-distinct >>values <insert-use-case-here>. WSDL interface/operations that do satisfy > > >>the distinctness requirement can use the WSDL feature or WSDL >>extensibility described in [5] (or something similar). >> >>[I don't think I'm doing justice to alternative 2 as I haven't come >>across a good usecase for this. If you do have one, please send it to >>the list] >> >>Thx! >> >>-Anish >>-- >> >>[1] >> > > http://lists.w3.org/Archives/Public/public-ws-addressing/2005Jan/0004.html > >>[2] > > http://www.w3.org/TR/2004/WD-wsdl20-20040803/#Interface_OperationName > >>[3] http://www.ws-i.org/Profiles/BasicProfile-1.1-2004-08-24.html#R2710 >>[4] http://www.ws-i.org/Profiles/BasicProfile-1.0-2004-04-16.html#R2710 >>[5] >> > > http://lists.w3.org/Archives/Public/public-ws-addressing/2005Jan/att-0010/00-part > >> >> > >
Received on Monday, 17 January 2005 00:14:07 UTC