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

 


Help: OASIS Mailing Lists Help | MarkMail Help

wsbpel message

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


Subject: Issue - R20 - Fault handling example in Section 12.5 is incorrect


This issue has been added to the wsbpel issue list with a status of "received". The status will be changed to "open" if a motion to open the issue is proposed and that motion is approved by the TC. A motion could also be proposed to close it without further consideration. Otherwise it will remain as "received".

The issues list is posted as a Technical Committee document to the OASIS WSBPEL TC pages on a regular basis. The current edition, as a TC document, is the most recent version of the document entitled in the "Issues" folder of the WSBPEL TC document list - the next posting as a TC document will include this issue. The list editor's working copy, which will normally include an issue when it is announced, is available at this constant URL.

Issue - R20 - Fault handling example in Section 12.5 is incorrect

Status: received
Date added: 16 Oct 2006
Date submitted: 16 October 2006
Submitter: Mark Ford
Description: The text that explains which fault handler is executed when a match is made via the substitutionGroup hierarchy is incorrect. The sample near the bottom of this section establishes a simple substitutionGroup hierarchy and then uses a sample scope to illustrate the concept of selecting the SG element that is closest in the hierarchy. The problem is that the text following the example incorrectly identifies “catch-logic-A based on foo:Elem4” and “catch-logic-B based on foo:Elem2” as being matched in two different scenarios. There is no “catch-logic-A” with “foo:Elem4”. There is no “catch-logic-B” with “foo:Elem2”.

I also don’t think the text below the example should reference the catch logic via xml-syntax. Change <catch>-logic-A to catch-logic-A since that is what appears in the example.
Submitter's proposal:

Change from:

For example, foo:Elem1, foo:Elem2, foo:Elem3, foo:Elem4, foo:Elem5 are all globally declared elements. Elem2 is declared with its substitutionGroup attribute referring to Elem1. The same relationship is declared between Elem3 and Elem2, and between Elem4 and Elem3, and between Elem5 and Elem4. Consider a scope with the following fault handlers:
<scope>
  <faultHandlers>
    <catch faultName="foo:BarFaultName" faultElement="foo:Elem2">
      ... catch-logic-A ...
    </catch>
    <catch faultName="foo:BarFaultName" faultElement="foo:Elem4">
      ... catch-logic-B ...
    </catch>
    <catch faultName="foo:BarFaultName">
      ... catch-logic-C ...
    </catch>
  </faultHandlers>
</scope>
If the fault data element is “foo:Elem5”, the <catch>-logic-A based on “foo:Elem4” will be matched. If fault data element is “foo:Elem3”, the <catch>-logic-B based on “foo:Elem2” will be matched. If fault data element is “foo:Elem1”, the <catch>-logic-C will be matched.
To: (my changes in bold)

For example, foo:Elem1, foo:Elem2, foo:Elem3, foo:Elem4, foo:Elem5 are all globally declared elements. Elem2 is declared with its substitutionGroup attribute referring to Elem1. The same relationship is declared between Elem3 and Elem2, and between Elem4 and Elem3, and between Elem5 and Elem4. Consider a scope with the following fault handlers:

<scope>
  <faultHandlers>
    <catch faultName="foo:BarFaultName" faultElement="foo:Elem2">
      ... catch-logic-A ...
    </catch>
    <catch faultName="foo:BarFaultName" faultElement="foo:Elem4">
      ... catch-logic-B ...
    </catch>
    <catch faultName="foo:BarFaultName">
      ... catch-logic-C ...
    </catch>
  </faultHandlers>
</scope>
If the fault data element is “foo:Elem5”, the catch-logic-B based on “foo:Elem4” will be matched. If fault data element is “foo:Elem3”, the catch-logic-A based on “foo:Elem2” will be matched. If fault data element is “foo:Elem1”, the catch-logic-C will be matched.

Changes: 16 Oct 2006 - new issue

To comment on this issue (including whether it should be accepted), please follow-up to this announcement on the wsbpel@lists.oasis-open.org list (replying to this message should automatically send your message to that list), or ensure the subject line as you send it starts "Issue - R20 - [anything]" or is a reply to such a message. If you want to formally propose a resolution to an open issue, please start the subject line "Issue - R20 - Proposed resolution", without any Re: or similar.

To add a new issue, see the issues procedures document



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