- From: Jonathan Marsh <jmarsh@microsoft.com>
- Date: Mon, 10 Oct 2005 10:22:41 -0700
- To: "David Hull" <dmh@tibco.com>, <public-ws-addressing@w3.org>
- Message-ID: <37D0366A39A9044286B2783EB4C3C4E85422E3@RED-MSG-10.redmond.corp.microsoft.com>
Isn't even the "advisory" option straying into implementation details of a service? Action enables dispatch, but we shouldn't care precisely how the dispatch works. For instance, I might have a service running on a single server that looks at the body to determine what to do. The next day I might insert an action-based dispatcher to farm out the tasks to a number of servers. In the interests of maximum interop the client shouldn't have to know or care about these details. It's enough for a service to say "I'm using Addressing, therefore you must send me messages with wsa:Action headers, and here are the values you should use." What the service does with these values today, tomorrow, or in 10 years, is up to it. ________________________________ From: public-ws-addressing-request@w3.org [mailto:public-ws-addressing-request@w3.org] On Behalf Of David Hull Sent: Friday, September 30, 2005 9:49 AM To: public-ws-addressing@w3.org Subject: NEW ISSUE: When, if ever, MUST action be used for dispatch? Description: It is not clear under what circumstances, if any, the [action] property must be used in conjunction with the wsaw:action attribute in the WSDL to do dispatch. Everyone knows what dispatching off of action means, but it doesn't seem to be spelled out anywhere in our binding. Justification: In the core, we define a mandatory [action] property. In the WSDL binding, we define a way of associating a WSA [action] with each message in an operation, including a defaulting rule if none is explicitly present. WSDL says (at least we say WSDL says :-) that ensuring that there is enough information in a message to distinguish which operation it is associated with is best practice. What seems to be missing is any explicit mention of using [action] for dispatch, something along the lines of "If an operation has a given [action] associated with it, and a message comes in with that [action], the processor MUST invoke that operation (assuming there are no other errors)." This would only be applicable when UsingAddressing is present, or perhaps only when UsingAddressing is present with wsdl:required true. Target: WSDL Binding Proposal: Add text to section 4 of the WSDL document saying one of: * wsaw:Action is purely advisory for dispatch. Dispatch off of it or not as you like. * Dispatching off of wsaw:Action is mandatory whenever wsaw:UsingAddressing is present. * Dispatching off of wsaw:Action is mandatory whenever wsaw:UsingAddressing is present and wsdl:required is true. If either of the last two is adopted, it is effectively an error to associate the same action with different operations on the same endpoint, and we should say this somewhere, either with a MUST NOT or a SHOULD NOT. We may want to say that wsaw:Action SHOULD be unique in any case.
Received on Monday, 10 October 2005 17:23:22 UTC