OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ws-rx message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: RE: [ws-rx] i089, i090 - Scenario 2.4 Request-Reply, Anonymous Client


Marc,
 
>> I can’t believe it isn’t clear that I am against the current proposal for i090.
 
We don't go by our beliefs and interpretations in this TC and some member companies even prefer that we have clear proposals with line numbers for every issue :-)
 
So please try to submit your alternate proposal(s) as soon as you can, preferably before this week's call.
 
-- Sanjay


From: Marc Goodner [mailto:mgoodner@microsoft.com]
Sent: Tuesday, Feb 21, 2006 9:04 AM
To: Patil, Sanjay; wsrx
Subject: RE: [ws-rx] i089, i090 - Scenario 2.4 Request-Reply, Anonymous Client

I can’t believe it isn’t clear that I am against the current proposal for i090. That proposal completely cuts Offer out of the spec. I think recent discussion here and on the implementer’s list demonstrates it does have value. It does seem that there may be some points that could be made in the spec to remove some ambiguity of its use. I’ll take those into consideration as I read the latest drafts today and try to get in an alternate proposal that addresses those rather than just cutting it from the spec.

 

Regarding i089, I’ll post separately. My main concern on that proposal stems from the description and not the proposal oddly enough so I might actually be fine with it.

 

Marc Goodner

Technical Diplomat

Microsoft Corporation

Tel: (425) 703-1903

Blog: http://spaces.msn.com/mrgoodner/


From: Patil, Sanjay [mailto:sanjay.patil@sap.com]
Sent: Friday, February 17, 2006 10:41 AM
To: Marc Goodner; wsrx
Subject: RE: [ws-rx] i089, i090 - Scenario 2.4 Request-Reply, Anonymous Client

 

 

Marc,

 

Could you please clarify your position on the issues i089 and i090, specifically in light of the scenario you submitted below. Note that both of these issues are accompanied with certain proposals. It will be helpful to know whether by submitting this scenario, you are agreeing/disagreeing/etc with the proposals.

 

-- Sanjay

 


From: Marc Goodner [mailto:mgoodner@microsoft.com]
Sent: Thursday, Feb 16, 2006 9:26 AM
To: wsrx
Subject: [ws-rx] i089, i090 - Scenario 2.4 Request-Reply, Anonymous Client

All, below is the scenario for the reliable req-repl with an anonymous client that was requested to be sent separately to the main TC alias. This relates to issue i090 and i089. Regards, Marc g

Scenario 2.4 Request-Reply, Anonymous Client

The application level aspects of this scenario are identical to those of the other Request-Reply scenarios – the client and the service use a request-reply messaging pattern to exchange messages.

In this scenario, however, the client is unreachable by the service. As a result, the service must use the HTTP response for all outgoing messages – whether they are application level or infrastructure level. The fact the client is anonymous makes this case especially interesting mainly because the service must rely on the client to make a call in order to be able to respond with a message of its own.

Message Exchange

The client and the service establish two WS-RM sequences with a dual CS/CSR handshake (i.e. wsrm:Offer and wsrm:Accept are present). The CSR is carried on the HTTP response.

The client then transmits one to three requests on the client-to-server sequence. The HTTP response for each request carries:

-          The response to that particular request.

-          A “piggy-backed” SequenceAcknowledgement header acknowledging the current known state at the receiver.

Each request, except for the first one, also carries a piggy-backed acknowledgement acknowledging all the responses the client has received at the point the request was made.

Once the client received acknowledgements and responses for all its requests, it sends a TerminateSequence message to the service and considers the client-to-service sequence complete. The TerminateSequence message “piggy-backs” a SequenceAcknowledgement header acknowledging the entire range of responses the client received. Upon receiving the TerminateSequence, the service responds with a TerminateSequence of its own – for the service-to-client sequence – and considers that sequence complete.

If a reply never comes back and the HTTP request times out or aborts, the client must always retransmit that request. If the service already responded to an incoming request with a given message number, it must respond with a copy of the original reply. As a consequence, a request must be resent to allow for the retransmission of its reply even if the request has already been acknowledged (by another reply received on a different HTTP connection, for example).

Because the TerminateSequence message carries data critical to the graceful shutdown of the service-to-client sequence, the client must attempt to retransmit the message if it fails to receive a response. The client does, however, consider its sequence complete regardless of the reply it receives. On the other hand, a service will consider its sequence gracefully shutdown only once it has received all the acknowledgements and the TerminateSequence from the client. It just so happens that the full acknowledgement range and the TerminateSequence are part of the same message.

 

CreateSequence Message Example

<s:Envelope>

  <s:Header>

    <a:Action s:mustUnderstand="1">

      http://docs.oasis-open.org/ws-rx/wsrm/200510/CreateSequence

    </a:Action>

    <a:MessageID>

      urn:uuid:ecd75878-45a0-41db-a358-960969467056

    </a:MessageID>

    <a:ReplyTo>

      <a:Address>

        http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

      </a:Address>

    </a:ReplyTo>

    <a:To s:mustUnderstand="1">

      http://server-machine/echoString

    </a:To>

  </s:Header>

  <s:Body>

    <r:CreateSequence>

      <r:AcksTo>

        <a:Address>

          http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

        </a:Address>

      </r:AcksTo>

      <r:Offer>

        <r:Identifier>

          urn:uuid:a721a819-35ea-436b-8106-fdcd317016c7

        </r:Identifier>

      </r:Offer>

    </r:CreateSequence>

  </s:Body>

</s:Envelope>

 

CreateSequenceResponse Message Example

<s:Envelope>

  <s:Header>

    <a:Action s:mustUnderstand="1">

      http://docs.oasis-open.org/ws-rx/wsrm/200510/CreateSequenceResponse

    </a:Action>

    <a:RelatesTo>

      urn:uuid:ecd75878-45a0-41db-a358-960969467056

    </a:RelatesTo>

  </s:Header>

  <s:Body>

    <r:CreateSequenceResponse>

      <r:Identifier>

        urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03

      </r:Identifier>

      <r:Accept>

        <r:AcksTo>

          <a:Address>

            http://server-machine/echoString

          </a:Address>

        </r:AcksTo>

      </r:Accept>

    </r:CreateSequenceResponse>

  </s:Body>

</s:Envelope>

 

EchoString Message Example

<s:Envelope>

  <s:Header>

    <r:Sequence s:mustUnderstand="1">

      <r:Identifier>

        urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03

      </r:Identifier>

      <r:MessageNumber>1</r:MessageNumber>

    </r:Sequence>

    <a:Action s:mustUnderstand="1">

      urn:wsrm:EchoString

    </a:Action>

    <a:MessageID>

      urn:uuid:baf71839-cb2c-4fd8-99f1-d59bfe8d3aa7

    </a:MessageID>

    <a:ReplyTo>

      <a:Address>

        http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

      </a:Address>

    </a:ReplyTo>

    <a:To s:mustUnderstand="1">

      http://server-machine/echoString

    </a:To>

  </s:Header>

  <s:Body>

    <echoString xmlns="http://tempuri.org/">

      <Text>Hello</Text>

      <Sequence>urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03</Sequence>

    </echoString>

  </s:Body>

</s:Envelope>

 

EchoStringResponse Message Example

<s:Envelope>

  <s:Header>

    <r:Sequence s:mustUnderstand="1">

      <r:Identifier>

        urn:uuid:a721a819-35ea-436b-8106-fdcd317016c7

      </r:Identifier>

      <r:MessageNumber>1</r:MessageNumber>

    </r:Sequence>

    <r:SequenceAcknowledgement>

      <r:Identifier>

        urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03

      </r:Identifier>

      <r:AcknowledgementRange Lower="1" Upper="1" />

    </r:SequenceAcknowledgement>

    <a:Action s:mustUnderstand="1">

      urn:wsrm:EchoStringResponse

    </a:Action>

    <a:RelatesTo>

      urn:uuid:baf71839-cb2c-4fd8-99f1-d59bfe8d3aa7

    </a:RelatesTo>

  </s:Header>

  <s:Body>

    <echoStringResponse xmlns="http://tempuri.org/">

      <EchoStringReturn>Hello</EchoStringReturn>

    </echoStringResponse>

  </s:Body>

</s:Envelope>

 

EchoString Message Example (2)

<s:Envelope>

  <s:Header>

    <r:SequenceAcknowledgement>

      <r:Identifier>

        urn:uuid:a721a819-35ea-436b-8106-fdcd317016c7

      </r:Identifier>

      <r:AcknowledgementRange Lower="1" Upper="1" />

    </r:SequenceAcknowledgement>

    <r:Sequence s:mustUnderstand="1">

      <r:Identifier>

        urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03

      </r:Identifier>

      <r:MessageNumber>2</r:MessageNumber>

    </r:Sequence>

    <a:Action s:mustUnderstand="1">

      urn:wsrm:EchoString

    </a:Action>

    <a:MessageID>

      urn:uuid:515df164-45a9-49a9-ba72-8f05bb8b6182

    </a:MessageID>

    <a:ReplyTo>

      <a:Address>

        http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous

      </a:Address>

    </a:ReplyTo>

    <a:To s:mustUnderstand="1">

      http://server-machine/echoString

    </a:To>

  </s:Header>

  <s:Body>

    <echoString xmlns="http://tempuri.org/">

      <Text>World</Text>

      <Sequence>urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03</Sequence>

    </echoString>

  </s:Body>

</s:Envelope>

 

Client’s TerminateSequence Message Example

<s:Envelope>

  <s:Header>

    <r:SequenceAcknowledgement>

      <r:Identifier>

        urn:uuid:a721a819-35ea-436b-8106-fdcd317016c7

      </r:Identifier>

      <r:AcknowledgementRange Lower="1" Upper="3" />

    </r:SequenceAcknowledgement>

    <a:Action s:mustUnderstand="1">

      http://docs.oasis-open.org/ws-rx/wsrm/200510/TerminateSequence

    </a:Action>

    <a:To s:mustUnderstand="1">

      http://server-machine/echoString

    </a:To>

  </s:Header>

  <s:Body>

    <r:TerminateSequence>

      <r:Identifier>

        urn:uuid:2c8e5a86-abae-4dc6-960e-41c914228b03

      </r:Identifier>

    </r:TerminateSequence>

  </s:Body>

</s:Envelope>

 

Service’s TerminateSequence Message Example

<s:Envelope>

  <s:Header>

    <a:Action s:mustUnderstand="1">

      http://docs.oasis-open.org/ws-rx/wsrm/200510/TerminateSequence

    </a:Action>

  </s:Header>

  <s:Body>

    <r:TerminateSequence>

      <r:Identifier>

        urn:uuid:a721a819-35ea-436b-8106-fdcd317016c7

      </r:Identifier>

    </r:TerminateSequence>

  </s:Body>

</s:Envelope>

 

Marc Goodner

Technical Diplomat

Microsoft Corporation

Tel: (425) 703-1903

Blog: http://spaces.msn.com/mrgoodner/

 



[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]