- From: Mark Nottingham <mark.nottingham@bea.com>
- Date: Fri, 30 Sep 2005 20:36:19 -0700
- To: David Hull <dmh@tibco.com>
- Cc: "public-ws-addressing@w3.org" <public-ws-addressing@w3.org>
The Working Group resolved to add this to the SOAP Binding doc to resolve this: If a receiver processes a message containing a wsa:Action header, this SOAP binding is engaged, [and the rules of this spec are in force]. On 28/09/2005, at 12:07 PM, David Hull wrote: > >From the discussion of wsa:UsingAddressing, wsdl:required and so > forth, it appears that there is some ambiguity as to how to define > the set of MAPs present in an incoming SOAP message. Indeed, > section 2 of the SOAP binding deals solely with the outbound side, > defining how MAPs become headers, but not vice versa. The infoset > description in section 3.1 of the core provides most of the needed > information, but there is at least one gray area: Since wsa:To is > given a default value, it is possible to define the [destination] > property of a message which contains no wsa:Headers in its infoset. > > This in turn appears to complicate the handling of messages > received by an endpoint whose wsa:UsingAddressing property is > present but with wsdl:required = false. Essentially, the receiver > must be able to distinguish two cases, ideally without explicit > reference to SOAP-level concepts such as header blocks: > wsa: SOAP headers were present, and therefore the endpoint should > follow the full WSA rules (in particular, it MUST fault if required > headers are absent) > No wsa:SOAP headers were present, and therefore the endpoint > handles the message without regard to WSA. > To my knowledge, there are at least two possible resolutions to this: > (my preference). Explicitly state that the MAPs for a SOAP message > are defined as per section 3.1 of the core, but with the exception > that a SOAP message with no wsa:headers present in its infoset has > no MAPs defined. I.e., [destination] does not assume its default > value. Non-SOAP bindings would similarly define their own mappings > from messages to MAPs. > Explicitly state that the MAPs for a SOAP message are defined as > per section 3.1, including unconditional defaulting of > [destination]. In addition, introduce a "WSA engaged" flag > indicating whether the message was intended as a WSA message. This > could be set based on whether any wsa:headers were present in the > infoset, or on any other basis. Non-SOAP bindings would similarly > define their own mappings from messages to MAPs and the "WSA > engaged" flag. > Note that in either case, wire-level optimizations are not an > issue. We consider a SOAP message as its infoset, regardless of > how that infoset was serialized and deserialized. -- Mark Nottingham Principal Technologist Office of the CTO BEA Systems
Received on Saturday, 1 October 2005 03:36:32 UTC