This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 7015 - Transfer: Separation of Verb and Content
Summary: Transfer: Separation of Verb and Content
Status: CLOSED WONTFIX
Alias: None
Product: WS-Resource Access
Classification: Unclassified
Component: Transfer (show other bugs)
Version: FPWD
Hardware: PC All
: P2 normal
Target Milestone: ---
Assignee: Geoff Bullen
QA Contact: notifications mailing list for WS Resource Access
URL:
Whiteboard:
Keywords: hasProposal
Depends on:
Blocks:
 
Reported: 2009-06-11 23:50 UTC by Geoff Bullen
Modified: 2009-10-27 21:35 UTC (History)
0 users

See Also:


Attachments

Description Geoff Bullen 2009-06-11 23:50:14 UTC
Background and details:

The submitted version of WS-Transfer allows the body element of a SOAP message to directly contain a resource representation.  Some members of the working group strongly desired to insert a wrapper element around the resource representation so that WSDL descriptions of such messages would conform to WS-I Basic Profiles.  

This could have been achieved by defining a single wrapper element, having the same element name regardless of which WS-Transfer message it would appear in.  However, the working group defined multiple wrapper elements, such that each WS-Transfer action (as expressed in the wsa:Action header) would correspond uniquely to a distinct wrapper element.

Having multiple, distinguished wrapper elements encourages fracturing of the web services community around two different and non-interoperable implementation choices.  Here is why:

Historically, before WS-Addressing [2] became a standard, many web service implementations used the first child element of the SOAP body in order to determine which operation to invoke.  The first child element name effectively became the verb used to route web service messages.  WS-Addressing standardized action semantics in the SOAP header (using the action URI) to achieve this goal and thus required no semantics at all in the SOAP body.  This action URI became the new way to define the verb, and also aligned with the principles used in HTTP [3] (i.e. that the HTTP body should contain content, not dispatch information).

WS-Transfer [4] contains a normative reference to WS-Addressing, and is designed around the dispatch of messages using the action URI.

The decision here, to require that the name of the first child element match the action, makes ambiguous the role of the first child element in defining the verb used for routing messages.  Implementers could incorrectly dispatch using the first child element as the verb, rather than support the WS-Addressing action as the verb.  Replication of information always decreases interoperability, and this continued polarization has to stop if interoperability is to be achieved.  This interoperability issue is real, not just hypothetical.

Proposal:
Use a single wrapper.
Comment 1 Robert Freund 2009-10-27 21:35:22 UTC
Closed with no action 5:3