- From: Tony Fletcher <tony_fletcher@btopenworld.com>
- Date: Thu, 23 Dec 2004 21:47:10 -0000
- To: <public-ws-chor-comments@w3.org>
- Message-ID: <001101c4e938$f5a777d0$6501a8c0@corp.choreology.com>
In the Last Call version of the WS-Choreography specification several exchange elements are allowed in an interaction element. One is the request going in one direction and the others must be in the reverse direction (though is that rule stated explicitly?). Only one of these is allowed to be the 'normal' response message, all the others must be fault messages. The case I am particularly interested in seems to be supported by neither WS-Choreography at present nor WSDL 1.1 and I wonder if it should be. (I understand that WSDL 2.0 could support what I propose as an extension, though I plan to make a comment into the WSD group with the aim of making it a standardised feature. Suppose I have request - response protocol pair but there can be several distinct response messages. So I want to say the request message is A and the response is B or C (or possibly fault message X or Fault message Y). I realise that of course you can write it as five (in this case) one way interactions, but that looses the request response semantic. You could also re-write the protocol to only use a single response message and internally to the response message have different parameter values that give the semantics of B or C - and likewise one can re-write the Fault message to combine X and Y, but why should one have to change the protocol to suit WS-Choreography? I would like to be able to write, for example, something like: <interaction name="ABCF" channelVariable="tns:aChannel" operation="a"> <participate relationshipType="SuperiorInferior" fromRole="tns:Superior" toRole="Inferior"/> <exchange name="A" informationType="Atype" action="request"> <send variable="tns:A"/> <receive variable="tns:A"/> </exchange> <exchange name="B" informationType="BType" action="respond"> <send variable="tns:B"/> <receive variable="tns:B"/> </exchange> <exchange name="C" informationType="CType" action="respond"> <send variable="tns:C"/> <receive variable="tns:C"/> </exchange> <exchange name="F" informationType="FType" action="respond"> <send variable="tns:F" causeException="true"/> <receive variable="tns:F" causeException="true"/> </exchange> </interaction> I would be quite happy to have some sort of explicit 'choice' construct around the multiple responds that are regular permitted responses and therefore do not have cause exception set, or an implicit choice as we currently have for multiple exception causing responses. Best Regards, Tony <http://www.choreology.com/> Tony Fletcher Technical Advisor Choreology Ltd. 68, Lombard Street, London EC3V 9L J UK Phone: +44 (0) 1473 729537 Mobile: +44 (0) 7801 948219 Fax: +44 (0) 870 7390077 Web: <http://www.choreology.com/> www.choreology.com CohesionsT Business transaction management software for application coordination Work: tony.fletcher@choreology.com Home: amfletcher@iee.org
Attachments
- image/gif attachment: image002.gif
Received on Thursday, 23 December 2004 21:47:42 UTC