Issue 154: Role invariance - proposed resolution

On wednesdays telcon I was assigned the action to draft resolution text 
for issue 154 [1] ahead of the F2F:

<quote>
Section 2.2 SOAP Actors and SOAP Node
   The roles assumed MUST be invariant during the processing of an
   individual SOAP message; because this specification deals only
   with the processing of individual SOAP messages, no statement is
   made regarding the possibility that a given piece of software
   might or might not act in varying roles when processing more than
   one SOAP message.
"invariant" - so if during the processing of a message a SOAP node
determines that it should also assume additional "roles", this would
be illegal?  I think this should be allowed.
</quote>

Proposed resoltion:

Since this issue was raised the text of the processing model has changed.

Section 2.6 now states:

"This section sets out the rules by which SOAP messages are processed. 
Unless otherwise stated, processing must be semantically equivalent to 
performing the following steps separately, and in the order given. Note 
however that nothing in this specification should be taken to prevent 
the use of optimistic concurrency, roll back, or other techniques that 
might provide increased flexibility in processing order as long as all 
SOAP messages, SOAP faults and application-level side effects are 
equivalent to those that would be obtained by direct implementation of 
the following rules in the order shown below.

1. Determine the set of roles in which the node is to act. The contents 
of the SOAP envelope, including header blocks and the body, MAY be 
inspected in making such determination."

According to rule 1 above we explicitly allow a node to inspect the 
message contents when deciding on the set of roles it is to play. We 
also allow a node to change the set of roles it plays after starting to 
process blocks provided that the outcome of this is "semantically 
equivalent to performing the following steps separately, and in the 
order given".

I therefore think that nodes are allowed to change the roles they play 
during message processing and we adequately describe the rules for doing so.

Regards,
Marc.

[1] http://www.w3.org/2000/xp/Group/xmlp-issues.html#x154

-- 
Marc Hadley <marc.hadley@sun.com>
XML Technology Centre, Sun Microsystems.

Received on Friday, 22 February 2002 08:27:12 UTC