LC Comment: Message compliance

 From discussion within the group, it appears that section 3 of the 
core, except for section 3.2, concerns compliance of messages, not 
processors.  In particular, the consequence of omitting a property that 
MUST be present is that the message is non-compliant, not that any 
particular processor MUST fault.  However, the notion of message 
compliance is only introduced in section 3.2, where it is used without 
explicit definition.  This makes the core liable to misinterpretation, 
as one might naturally assume that omitting a property that MUST be 
present would obligate a processor to fault.


There are (at least) two general solutions to this:

   1. Remove all MUST and REQUIRED statements from the first parts of
      section 3 and state their actual effect in section 3.2.  Since
      section 3.2 covers replies to a request message (which must have a
      [reply endpoint]), this simply means rephrasing the opening
      paragraph along the lines of:

"This section specifies how a WS-Addressing compliant processor must 
process a WS-Addressing compliant request.  Such a request is one 
containing all of: [destination], [action], [reply endpoint] and 
[message id]."

   2. Clearly state at the beginning of section 3 that the rules there
      and in section 3.1 define message compliance only and do not
      obligate a processor to fault if they are violated.

Note that even the first version is meant to preserve the behavior 
specified in the core and so is at least arguably not substantive.

Received on Thursday, 5 May 2005 21:45:39 UTC