[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Re: [sca-bindings] [Issue 2] Version 2: How to implement SCA callbacksusing SOAP -- a proposal
I couldn't make the F2F due to a vacation, so I'm sorry if I'm treading over old territory. I have two questions.
I took an action at the f2f to update the proposal that I had sent out [1] based on the feedback received during the f2f and the mailing list. Based on the feedback, I have made two changes: a) changed the case of 'must' and b) instead of saying "... callback EPR obtained from *the* request message ...", it now says "... callback EPR obtained from *a* request message ..." V2 does not the incorporate the comments/feedback for which there wasn't an agreement. -Anish -- [1] http://lists.oasis-open.org/archives/sca-bindings/200807/msg00027.html Proposal v2: 1) Every request message that invokes the forward interface MAY contain the wsa:From SOAP header block. The wsa:From header block, if present, specifies the Callback EPR. If wsa:From header block is not present, then the wsa:ReplyTo, if present, specifies the Callback EPR. If neither wsa:From nor wsa:ReplyTo are present in the request message of the forward interface, the service MUST generate a SOAP Fault. 2) Every request message that invokes the forward interface MUST contain the wsa:MessageID SOAP header block. If a request message that invokes the forward interface does not contain the wsa:MessageID then the service 3) When the service wants to invoke the callback interface, it utilizes the Callback EPR obtained from Scenarios: S: service with a bidirectional interface R: reference connected to service S The wire binding (in both directions) uses SOAP. The forward interface consists of only one one-way operation: YouRIt() The callback interface consists of only one one-way operation: NoYouRIt() R invokes YouRIt(). Let's call this invocation R1 and it sets the callback address to RC1. S then calls NoYouRIt() twice: S1 and S2 R invokes YouRIt() again. Let's call this invocation R2 and it sets the callback address to RC1. S then calls NoYouRIt() once: S3 R invokes YouRIt(). Let's call this invocation R3 and it sets the callback address to RC2. S then calls NoYouRIt() twice: S4 and S5. Wire messages: R1: <soap:Envelope ...> <soap:Header> <wsa:From> <wsa:Address>http://example.com/callback</wsa:Address> <wsa:ReferenceProperties> <myNS:SomeID>1</myNS:SomeID> </wsa:ReferenceProperties> </wsa:From> <wsa:MessageID>urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6</wsa:messageID> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> S1, S2: <soap:Envelope ...> <soap:Header> <wsa:To>http://example.com/callback</wsa:To> <myNS:SomeID>1</myNS:SomeID> <wsa:RelatesTo RelationshipType="http://docs.oasis-open.org/opencsa/sca-bindings/callback"> urn:uuid:f81d4fae-7dec-11d0-a765-00a0c91e6bf6 </wsa:RelatesTo> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> R2: <soap:Envelope ...> <soap:Header> <wsa:From> <wsa:Address>http://example.com/callback</wsa:Address> <wsa:ReferenceProperties> <myNS:SomeID>1</myNS:SomeID> </wsa:ReferenceProperties> </wsa:From> <wsa:MessageID>urn:uuid:f81d4fae-8dec-11d0-a765-00a0c91e6bf6</wsa:messageID> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> S3: <soap:Envelope ...> <soap:Header> <wsa:To>http://example.com/callback</wsa:To> <myNS:SomeID>1</myNS:SomeID> <wsa:RelatesTo RelationshipType="http://docs.oasis-open.org/opencsa/sca-bindings/callback"> urn:uuid:f81d4fae-8dec-11d0-a765-00a0c91e6bf6 </wsa:RelatesTo> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> R3: <soap:Envelope ...> <soap:Header> <wsa:From> <wsa:Address>http://example.com/callback-other</wsa:Address> <wsa:ReferenceProperties> <myNS:SomeID>2</myNS:SomeID> </wsa:ReferenceProperties> </wsa:From> <wsa:MessageID>urn:uuid:f81d4fae-9dec-11d0-a765-00a0c91e6bf6</wsa:messageID> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> S4, S5: <soap:Envelope ...> <soap:Header> <wsa:To>http://example.com/callback-other</wsa:To> <myNS:SomeID>2</myNS:SomeID> <wsa:RelatesTo RelationshipType="http://docs.oasis-open.org/opencsa/sca-bindings/callback"> urn:uuid:f81d4fae-9dec-11d0-a765-00a0c91e6bf6 </wsa:RelatesTo> ... </soap:Header> <soap:Body> ... </soap:Body> </soap:Envelope> --------------------------------------------------------------------- To unsubscribe from this mail list, you must leave the OASIS TC that generates this mail. Follow this link to all your TCs in OASIS at: https://www.oasis-open.org/apps/org/workgroup/portal/my_workgroups.php |
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]