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

RE: Mandator wsa:Action (was Re: WS-Addr issues)

From: Savas Parastatidis <Savas.Parastatidis@newcastle.ac.uk>
Date: Sun, 7 Nov 2004 17:15:52 -0000
Message-ID: <37E80E80B681A24B8F768D607373CA800172C9A9@largo.campus.ncl.ac.uk>
To: "Francisco Curbera" <curbera@us.ibm.com>
Cc: <public-ws-addressing@w3.org>

Dear Paco,

> The semantics of WSA:Action are already defined in the current spec.
> acceptable values are defined by each service contract.l We have
> specifications already using it and several vendors interoperating on
> basis. I don't get exactly what is undefined about that.

I am sorry I didn't explain clearly what I meant. Let me try again.

The specification says...

An identifier that uniquely (and opaquely) identifies the semantics
implied by this message.

It is RECOMMENDED that value of the [action] property is a URI
identifying an input, output, or fault message within a WSDL port type.
An action may be explicitly or implicitly associated with the
corresponding WSDL definition. Section 3.3 below describes the
mechanisms of association. Finally, if in addition to the [action]
property, a SOAP Action URI is encoded in a request, the URI of the SOAP
Action MUST be the same as the one specified by the [action] property.

This suggests that the value of the wsa:action information header
indicates the semantics of the message. In a document-centric
interaction, it is very likely that the semantics of a message are
content- or application protocol-based and not known by just looking at
the message. I personally (and I know others too) treat WSDL as a way to
describe message format/structure. The "operation" is just an
interaction while the "portType/interface" is a collection of
interactions. We can't infer any kind of semantics from a WSDL document;
we need additional information to do that (e.g. RDF, a specification
document, etc.).

So, what are the semantics of the following message? (wsa:action
automatically generated from the WSDL document)


As part of a larger set of message exchanges, this message may mean
different things to the recipient, based on its actual contents. So,
what does it mean to have the wsa:action header in this case? Also, what
does it mean for the message if the value of the wsa:action header in
the above case was http://example.com/hello while the contents were the
same? What are the semantics of processing the wsa:action header?

The wsa:To, wsa:ReplyTo, etc. headers are clearly defined and we know
what they mean. It seems to me, however, that the meaning of wsa:action
is deferred to other specifications and there is a danger, as others
have suggested, that wsa:action would be just used to expose the
internal-to-the-service message dispatching mechanism because it'd be a
convenient thing to do.

So, since the semantics of the wsa:action values are deferred to other
specifications, why aren't those specifications define their own header
for doing so? E.g.

    <ws-mex:GetMetadata />
  <soap:Body />


    <ws-transfer:Create />
  <soap:Body />

And you could also do

    <!-- two birds with one stone -->
    <ws-trasnfer:Create />
    <ws-mex:GetMetadata />
  <soap:Body />

(DISCLAIMER: I prefer those elements to be in the body, but I presented
them like that as alternative examples of how specification-specific
message semantics in the header)

Received on Sunday, 7 November 2004 17:16:08 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 6 January 2015 21:04:07 UTC