W3C home > Mailing lists > Public > public-ws-addressing@w3.org > November 2004

Issues i034: Action defaults (was Re: Issue 019: WSDL Version Neutrality)

From: Hugo Haas <hugo@w3.org>
Date: Tue, 23 Nov 2004 17:07:44 +0100
To: public-ws-addressing@w3.org
Message-ID: <20041123160744.GJ27818@w3.org>
* Marc Hadley <Marc.Hadley@Sun.COM> [2004-11-17 15:11-0500]
> On Nov 16, 2004, at 9:24 PM, Hugo Haas wrote:
> >The solutions for implicit action values that have been proposed are:
> >
> >1. keep the WSDL 1.1 implicit value algorithm for WSDL 1.1, use the
> >   WSDL 2.0 component designator URI for WSDL 2.0, and treat those as
> >   equivalent
> >
> >2. keep the WSDL 1.1 implicit value algorithm for WSDL 1.1, introduce
> >   a similar algorithm for WSDL 2.0, so that the values match in most
> >   cases
> >
> >3. keep the WSDL 1.1 implicit value algorithm for WSDL 1.1, use the
> >   WSDL 2.0 component designator URI for WSDL 2.0, but treat those
> >   differently: basically, in at least one of those descriptions, the
> >   action will have to be specified so that it is the same in both
> >   cases
> >
> >4. use the WSDL 2.0 component designator URI for WSDL 2.0, provide a
> >   similar algorithm for WSDL 1.1, so that the values match in most
> >   cases
> >
> I'd like to propose another (simple) solution: make action optional, 
> drop the implicit action mapping, only include an action in a message 
> if its explicitly specified in the WSDL.

After having thought about this a little more and discussed this with
colleagues, your solution seems interesting, though I don't think that
action should be made optional, and I think that it's an orthogonal
issue — and it does have its own issue number AAMOF, issue i031.

In a nutshell, what I am arguing below is a +1 to your proposal,
modulo the resolution of i031 (requiredness of action), and with a
friendly amendment of suggesting default values to specify in a WSDL
description of the service.

-=- Details -=-

As I have said several times, I think that it would be a
mistake not to use the WSDL 2.0 component designator URI pointing to a
message reference as a default value for action with a WSDL 2.0
description: using another URI, mimicking the WSDL 1.1 default value
construction for example, would essentially mean that there are two
URIs identifying the same thing: a particular message.

Jonathan has also pointed out that it is desirable that the WSDL 1.1
and 2.0 defaults be the same, and pushed back on using the WSDL 2.0
syntax for the 1.1 default.

It is worth noting that we can only consider the cases of WSDL 1.1 and
2.0 at this point. We can imagine the service being described in WSDL
2.1, 3.0: those may have a different component model which makes the
construction of the same default action URI impossible.

Therefore, aligning the default implicit values for all WSDL versions
is going to be hard, and efforts that we make to align WSDL 1.1 and
WSDL 2.0 today may be ruined in the future by the use of a new version
of WSDL.

Moreover, action is considered important: its use is (currently)
required in a message, it heavily relates to the lengthy discussions
around operation name in the WS Description WG, etc. Having it spelled
out in a WSDL description seems to make sense.

I would therefore favor _not_ having the implicit action pattern, and
requiring it to be indicated in the description of a service, i.e.
wsa:Action MUST be present on a message reference — i.e. input or
output message — in a WSDL description if addressing is used.

I don't think that it will be such a burden on implementors since:
- they can still use the same ones as long as it's indicated in their
  WSDL,
- toolkits can provide a default value if the developer doesn't want
  to specify one by hand.

This default that toolkit can provide can be hinted by our spec.

We could keep the current WSDL 1.1 defaulting algorithm and say that
it MAY be used as a (good) default value for the action property when
writing a WSDL 1.1 description of a service, and say that the WSDL 2.0
component designator URI for a message reference MAY be used as a
(good) action default value when writing a WSDL 2.0 description of it.
In any case, the value of the action property is specific to the
service and MUST be identical in all descriptions of the service.

Comments?

Regards,

Hugo

-- 
Hugo Haas - W3C
mailto:hugo@w3.org - http://www.w3.org/People/Hugo/

Received on Tuesday, 23 November 2004 16:07:45 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 2 June 2009 18:34:59 GMT