- From: Roberto Chinnici <Roberto.Chinnici@Sun.COM>
- Date: Thu, 02 Oct 2003 17:57:50 -0700
- To: Sanjiva Weerawarana <sanjiva@watson.ibm.com>
- Cc: "Amelia A. Lewis" <alewis@tibco.com>, jeffsch@windows.microsoft.com, www-ws-desc@w3.org
Sanjiva Weerawarana wrote: > So, it seems to me that the syntax proposal I made to Jeffrey > is still acceptable, but the difference is that the value of > operation/fault/@messageReference would resolve to any message > ref in the pattern as there is nothing called a special fault > message reference in the pattern. Then, in combination with > the fault rule of the pattern, that unambigiously states what > the fault is and who's sending it to who. > > Amy/Jeffrey: Do you guys agree? If so I will send a summarized > proposal to try to get closure on this as I doubt everyone > followed this thread carefully. I'm still mulling over the change from infault/outfault to fault. Here's the first example that Amy sent, the one that uses fault-replaces-message: <interface name="foo"> <operation name="this-is-irrelevant" pattern="http://mypatterns.org/pattern1"> <input messageReference="M1" headers=".." body=".."/> <output messageReference="M2" body=".."/> <fault messageReference="M2" details="F1"/> <fault messageReference="M2" details="F2"/> <fault messageReference="M2" details="F3"/> </operation> </interface> And here's the same example with infault/outfault: <interface name="foo"> <operation name="this-is-irrelevant" pattern="http://mypatterns.org/pattern1"> <input messageReference="M1" headers=".." body=".."/> <output messageReference="M2" body=".."/> <outfault messageReference="M2" details="F1"/> <outfault messageReference="M2" details="F2"/> <outfault messageReference="M2" details="F3"/> </operation> </interface> Here's the second example (with message-triggers-fault): (by the way, I changed the pattern URI to be different from the previous one) <interface name="foo"> <operation name="this-is-irrelevant" pattern="http://mypatterns.org/pattern2"> <input messageReference="M1" headers=".." body=".."/> <output messageReference="M2" body=".."/> <fault messageReference="M1" details="F1"/> <fault messageReference="M1" details="F2"/> <fault messageReference="M2" details="F1"/> <fault messageReference="M2" details="F3"/> </operation> </interface> And the equivalent with infault/outfault: <interface name="foo"> <operation name="this-is-irrelevant" pattern="http://mypatterns.org/pattern2"> <input messageReference="M1" headers=".." body=".."/> <output messageReference="M2" body=".."/> <outfault messageReference="M1" details="F1"/> <outfault messageReference="M1" details="F2"/> <infault messageReference="M2" details="F1"/> <infault messageReference="M2" details="F3"/> </operation> </interface> My observation then is that the versions with infault/outfault are much easier to understand: you can tell at a glance in which direction the faults are flowing. Using just "fault" everywhere obfuscates this important piece of information. Roberto
Received on Thursday, 2 October 2003 20:57:54 UTC