- From: Marc Hadley <Marc.Hadley@Sun.COM>
- Date: Fri, 04 Feb 2005 11:29:22 -0500
- To: public-ws-addressing@w3.org
On Jan 26, 2005, at 10:52 AM, Marc Hadley wrote: > > I took an action at the last F2F to raise an issue about absolute vs > relative URIs in message addressing properties. The following message > addressing properties are URIs: [destination], [action], [message id], > [relationship/relatesto], [relationship/type]. In addition the message > addressing properties [source endpoint], [reply endpoint] and [fault > endpoint] each contain [address] properties that are also URIs. > > SOAP 1.2 describes a set of conventions for use of URIs in SOAP > messages[1] and recommends (in the RFC 2119 sense) that > "application-defined data carried within a SOAP envelope use the same > mechanisms and guidelines". I think this applies to addressing > headers. > > WS-Addressing should define which properties MUST be serialized in > SOAP messages as absolute URIs and which may be relative and subject > to the convention defined by SOAP. > I took an action to make a concrete proposal for this issue. My suggested resolution hinges on whether its possible to establish a useful base URI for the properties in the SOAP message or not. Recall that all of these URIs are serialized in SOAP messages as part of SOAP header blocks: <env:SOAP> <env:Header> <wsa:To>[destination]</wsa:To> <wsa:Action>[action]</wsa:Action> <wsa:MessageID>[message id]</wsa:MessageID> <wsa:RelatesTo RelationshipType="[relationship/type]"> [relationship/relates to] </wsa:RelatesTo> <wsa:ReplyTo> <wsa:Address>[reply endpoint/address]</wsa:Address> </wsa:ReplyTo> <wsa:FaultTo> <wsa:Address>[fault endpoint/address]</wsa:Address> </wsa:FaultTo> <wsa:From> <wsa:Address>[source endpoint/address]</wsa:Address> </wsa:From> </env:Header> <env:Body> </env:Body> </env:SOAP> The properties are grouped below by the possibility that they might share a common base URI: (i) [reply endpoint/address], [fault endpoint/address], [source endpoint/address], [message id] (possibly) (ii) [destination], [relationship/relates to] (iii) [relationship/type], [destination] (when anonymous) The base URI for group (ii) might be established by the protocol binding. The SOAP 1.2 HTTP binding establishes a base URI that is the HTTP Request-URI or the value of the HTTP Content-Location header field[3]. A base URI for groups (i), (ii) or (iii) could be established using xml:base[4], however the xml:base attribute would need to be in scope for all of the intended properties and would therefore need to be put on either the env:Header or env:Envelope (there's little point putting it on each individual header, one might just as well use an absolute URI instead). Use of xml:base on the envelope or header would override any base URI established by the protocol binding so its not possible to use xml:base for one group of properties and the protocol binding for another. Taking the above into account I'd suggest that base URIs are most useful when serializing the [*/address] and [destination] properties. I therefore propose that we require (in the SOAP binding document) that the following properties are serialized as absolute URIs in the corresponding infoset representation: [action], [message id], [relationship/relates to] and [relationship/type]. I further propose that the remaining URIs ([destination], [source endpoint/address], [reply endpoint/address] and [fault endpoint/address]) may be relative and if so are subject to the standard SOAP rules for converting to absolute URIs. Marc. > > [1] http://www.w3.org/TR/2003/REC-soap12-part1-20030624/#useofuris > [2] http://www.w3.org/2002/ws/addr/wd-issues/#i046 [3] http://www.w3.org/TR/2003/REC-soap12-part2-20030624/#soapinhttp [4] http://www.w3.org/TR/2001/REC-xmlbase-20010627/ --- Marc Hadley <marc.hadley at sun.com> Web Technologies and Standards, Sun Microsystems.
Received on Friday, 4 February 2005 16:29:58 UTC