You are viewing a plain text version of this content. The canonical link for it is here.
Posted to sandesha-dev@ws.apache.org by Paul Fremantle <pz...@gmail.com> on 2007/03/29 12:29:48 UTC

"Replay" mode

We have recently implemented the Microsoft "replay" mode for anonymous
two-way rm.

I have been documenting this model and here is my first cut of the "rules":

Please note this only applies to RM 1.0. I haven't figured out how
this would work with RM 1.1 if at all.

In particular I think that the code that supports this should only be
activated in the case where there is a CS+Offer+anonymous
replyTo/acksTo. Please take a look at these and let me know if you
think any of these should apply in the normal RM case too.

1. RMD

i)	The RMD SHOULD use this model when it accepts a wsrm:CreateSequence
operation that:
a.	includes an Offered Sequence and
b.	where the AcksTo and ReplyTo both reference the WS-Addressing
anonymous endpoint.
ii)	The RMD SHOULD add a wsrm:SequenceAcknowledgement header to every
successful response message.
iii)	If there is a response message to a given request, the RMD MUST
NOT acknowledge that request message unless
a.	the sequence acknowledgement is in the same SOAP message as the
response message, or
b.	the RMS has already acknowledged the response.
iv)	If there is no response to a given request – i.e. the request is a
one-way message, then the RMD MUST respond with an acknowledgement
that includes the request message in one of the ranges.
v)	The RMD must respond to a replayed request message with the correct
response to that message, unless it has already received an
acknowledgement for that response, in which case it can respond with
an HTTP 202 Accepted or a SequenceAcknowledgement.
vi) The RMD SHOULD respond to a TerminateSequence with a corresponding
TS of the offered sequence.

2. RMS

i)	If the RMS needs to use this model, it MUST send a CreateSequence
with an Offer. The wsrm:AcksTo address must be a valid WSA Anonymous
URI and the wsa:ReplyTo address and wsrm:AcksTo MUST match.
ii)	The RMS SHOULD transmit messages in the Sequence message order.
iii)	If the response to a request does not include a SOAP payload, the
RMS MUST replay the request, or raise a fault.
iv)	If the RMS receives a response to a given request containing a
SOAP payload, and the payload includes a  wsrm:SequenceAcknowledgement
including the request message in a range, then the body of the SOAP
message will be the response to the request, or empty in case of a
one-way operation.

Paul

-- 
Paul Fremantle
VP/Technology, WSO2 and OASIS WS-RX TC Co-chair

http://bloglines.com/blog/paulfremantle
paul@wso2.com

"Oxygenating the Web Service Platform", www.wso2.com

---------------------------------------------------------------------
To unsubscribe, e-mail: sandesha-dev-unsubscribe@ws.apache.org
For additional commands, e-mail: sandesha-dev-help@ws.apache.org