- From: Yalcinalp, Umit <umit.yalcinalp@sap.com>
- Date: Mon, 10 Jan 2005 20:26:39 +0100
- To: "Anish Karmarkar" <Anish.Karmarkar@oracle.com>, <public-ws-addressing@w3.org>
>-----Original Message----- >From: public-ws-addressing-request@w3.org >[mailto:public-ws-addressing-request@w3.org] >Sent: Monday, Jan 10, 2005 10:33 AM >To: public-ws-addressing@w3.org >Subject: Alternatives for resolving subissue 1 in issue i017 > > > >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]. > If I understand you correctly, it seems to me that the combination of WSDL + WS-Addressing with unique values for the Action property for each portType/operation/message (direction), the operation name mapping requirement for WSDL 2.0 will be fullfilled. Right? In other words, the default values for Action parameter will also suffice, but another naming scheme can be employed as long as the inherent uniqueness rules apply. One thing I am wondering is how we can enforce the compliance with this, however. A physical address may "host" multiple endpoints, via using the same address URI value. This allows the same address to be the access point for to access multiple interface/ports as being the location for multiple endpoints. By following the requirement stated here and using the Action value, you can always distinguish the message exchange uniquely. So, if the domain is a single WSDL, there is no problem. A physical address can also host multiple endpoints, not necessarily for the same WSDL and other exchanges, for obtaining metadata, etc. If this were to happen and a scheme other than default values for Action values were employed, one would have to look at all message exchanges that are enabled by the physical address, namely across multiple WSDLs, exchanges for meta-data, private extensions, etc. Therefore, it seems to me that uniqueness depends on the domain of values you have. I am not sure whether we can guarantee uniqueness in this case, just on a single WSDL. It depends on all the message exchanges that are supported by a single physical address that supports multiple endpoints, meta-data, your companies-favorite-out-of-band-without-WSDL thingy. Therefore, if a physical address can host multiple exchanges and they are not bounded within a single WSDL, I am not sure whether requiring uniqueness within a WSDL really buys much, unless there is an inherent understanding that all Action values for a physical address is guaranteed to be unique for practical purposes, hence within the combined domain of Action values, the message exchanges can be identified uniquely. >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 >-- --umit > >[1] >http://lists.w3.org/Archives/Public/public-ws-addressing/2005Ja n/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-001 0/00-part
Received on Monday, 10 January 2005 19:28:07 UTC