WS BPEL public review issues list

This file last updated 9:27 21 Nov 2006 (UTC)

This is the issues list for the public review of the WS-BPEL 2.0 specification, maintained on behalf of the OASIS Web Services Business Process Execution Language Technical Committee. This review issues list is posted as a TC document to the OASIS WSBPEL TC pages on a regular basis (if it has changed). The current edition, as a TC document, is the most recent version of the document Current WS-BPEL Review Issues List in the "Issues" folder of the WSBPEL TC document list - the uri for this document includes the document number generated by the upload process. The list editor's working copy, which will always at least as recent as the formal upload and will usually include later updates, is available at this constant URI (which can thus be used as the base for the anchors to individual issue entries of the form "IssueRNN").

Comments received on the public comment list will generally be made issues on this list - the Origin field is used to identify these issues. Members of the TC can send issue proposals to the chairs, copying the issue list editor peter@furniss.co.uk. (The Submitter field identifies the TC member submitting the issue).

The issues list used in progressing the WS-BPEL spec to public review is now closed.

If messages sent to the main TC list (wsbpel@lists.oasis-open.org) discussing an issue (including whether the issue should be accepted) have subject lines that begin Issue - <issue-id> - , or are replies to such, the archived copy of that message on the wsbpel list should be picked up by the software that revises this list and added to the Links section of the issue.

There are no unresolved issues (open or resolution proposed)

There are no proposed issues

There are no resolved issues awaiting editing into spec

Issues changed or added since 12 Nov 2006

IssueIDTitleStatusIn specDate addedLast changed
Issue R25wording for conflictingReceive and ambiguousReceiveresolved15 Nov 200618 Oct 200615 Nov 2006
Issue R26Default Compensation Order Conflictresolved15 Nov 200630 Oct 200616 Nov 2006
Issue R27Faults and Parallelism in Termination Handlersresolved14 Nov 200630 Oct 200615 Nov 2006
Issue R28IPR for WS-BPEL2.0resolvedNo change2 Nov 200615 Nov 2006
Issue R29Partner link's initializePartnerRole attributeresolved15 Nov 20062 Nov 200616 Nov 2006
Issue R30Clarify when a <repeatEvery> expression is evaluatedresolved14 Nov 20066 Nov 200615 Nov 2006
Issue R31Clarification for Section 10.4 Given R18 Resolutionresolved14 Nov 20067 Nov 200615 Nov 2006
Issue R32Correction needed in Template Process Example in Section 15.2resolved14 Nov 20068 Nov 200615 Nov 2006
Issue R33Optional XML Data in Assignmentsresolved15 Nov 20069 Nov 200616 Nov 2006
Issue R34Fix up some minor typosresolved14 Nov 20069 Nov 200615 Nov 2006
Issue R35Wrong description of element importresolved14 Nov 20069 Nov 200615 Nov 2006
Issue R36Wrong description of attribute queryLanguageresolved14 Nov 20069 Nov 200615 Nov 2006
Issue R37Wrong namespace for ServiceRefType in exampleresolved14 Nov 20069 Nov 200615 Nov 2006
Issue R38Wrong examples in 8.4resolved14 Nov 20069 Nov 200615 Nov 2006
Issue R39Make <completionCondition> element extensibleresolved14 Nov 200610 Nov 200615 Nov 2006
Issue R40From/To Extensibilityresolved14 Nov 200610 Nov 200615 Nov 2006
Issue R41IPR statements - feedback from Hitachi Ltd.resolvedNo change13 Nov 200615 Nov 2006
Issue R42replace HTML entity in sample with XML equivalentresolved14 Nov 200615 Nov 200615 Nov 2006
Issue R43Simplify partnerLink usageresolved16 Nov 200616 Nov 200621 Nov 2006

Issues arising from public comment list

IssueIDTitleStatusChange status
Issue R13BPEL partner link assignmentsresolvedno change
Issue R24Externally referenced locally-scoped partnerLinksresolvedno change
Issue R25wording for conflictingReceive and ambiguousReceiveresolvedsubstantive
Issue R28IPR for WS-BPEL2.0resolvedno change
Issue R41IPR statements - feedback from Hitachi Ltd.resolvedno change

All issues, in order

IssueIDTitleStatusChange statusIn specDate addedLast changed
Issue R1keepSrcElement behavior for virtual <assign>'sresolvedsubstantive6 Nov 20064 Aug 20066 Nov 2006
Issue R2Zero or Negative Duration Valuesresolvedsubstantive24 Oct 200610 Sep 200625 Oct 2006
Issue R3Appendix H - earlier members need to be addedresolvededitorial6 Nov 200610 Sep 20066 Nov 2006
Issue R4missing namespace prefix declaration in Section 15.4.1resolvededitorial21 Sep 200615 Sep 20064 Oct 2006
Issue R5Wrong namespace in Section 13.1.2resolvededitorial21 Sep 200615 Sep 20064 Oct 2006
Issue R6TOC is messed up in PDF versionresolvededitorialNo editing required15 Sep 20064 Oct 2006
Issue R7Figure 1 truncated in XHTMLresolvededitorialNo editing required15 Sep 20064 Oct 2006
Issue R8Create separate isolation domain for isolated scope's compensation handlerresolvedsubstantive26 Oct 200618 Sep 20062 Nov 2006
Issue R9Remove LED Comment on eventHandlers declarationresolvededitorial24 Oct 200619 Sep 200625 Oct 2006
Issue R10Definition of IMA scoperesolvededitorial24 Oct 200619 Sep 200625 Oct 2006
Issue R11Section 12.7 Duplicated (Two Sections)resolvededitorial21 Sep 200620 Sep 20064 Oct 2006
Issue R12Isolated Scopesresolvededitorial21 Sep 200620 Sep 20064 Oct 2006
Issue R13BPEL partner link assignmentsresolvedno changeno change20 Sep 200625 Oct 2006
Issue R14Reference source not found in section 12.4resolvededitorial24 Oct 200621 Sep 200625 Oct 2006
Issue R15Fix description of abnormal process completionresolvedsubstantive26 Oct 200626 Sep 20062 Nov 2006
Issue R16confusing description of Message Exchange Handlingresolvedsubstantive6 Nov 200626 Sep 20066 Nov 2006
Issue R17Schema for abstract processes is not validresolvedsubstantive24 Oct 20064 Oct 200625 Oct 2006
Issue R18Uniqueness of WSDL Faults resolvedsubstantive26 Oct 200610 Oct 20067 Nov 2006
Issue R19Syntax-fault in example on page 168 resolvededitorial24 Oct 200611 Oct 200625 Oct 2006
Issue R20Fault handling example in Section 12.5 is incorrectresolvededitorial24 Oct 200616 Oct 200625 Oct 2006
Issue R21Static Analysis requirement for Variable Reference Resolution, Section 12.7.1 and Appendix Bresolvededitorial6 Nov 200616 Oct 20066 Nov 2006
Issue R22<rethrow> of Fault Name and Fault Data Where Presentresolvededitorial24 Oct 200617 Oct 200625 Oct 2006
Issue R23Clarification on Schema Variable Validationresolvededitorial24 Oct 200617 Oct 200625 Oct 2006
Issue R24Externally referenced locally-scoped partnerLinksresolvedno changeno change17 Oct 20062 Nov 2006
Issue R25wording for conflictingReceive and ambiguousReceiveresolvedsubstantive15 Nov 200618 Oct 200615 Nov 2006
Issue R26Default Compensation Order Conflictresolvedsubstantive15 Nov 200630 Oct 200616 Nov 2006
Issue R27Faults and Parallelism in Termination Handlersresolvededitorial14 Nov 200630 Oct 200615 Nov 2006
Issue R28IPR for WS-BPEL2.0resolvedno changeNo change2 Nov 200615 Nov 2006
Issue R29Partner link's initializePartnerRole attributeresolvedsubstantive15 Nov 20062 Nov 200616 Nov 2006
Issue R30Clarify when a <repeatEvery> expression is evaluatedresolvedsubstantive14 Nov 20066 Nov 200615 Nov 2006
Issue R31Clarification for Section 10.4 Given R18 Resolutionresolvededitorial14 Nov 20067 Nov 200615 Nov 2006
Issue R32Correction needed in Template Process Example in Section 15.2resolvededitorial14 Nov 20068 Nov 200615 Nov 2006
Issue R33Optional XML Data in Assignmentsresolvedsubstantive15 Nov 20069 Nov 200616 Nov 2006
Issue R34Fix up some minor typosresolvededitorial14 Nov 20069 Nov 200615 Nov 2006
Issue R35Wrong description of element importresolvededitorial14 Nov 20069 Nov 200615 Nov 2006
Issue R36Wrong description of attribute queryLanguageresolvededitorial14 Nov 20069 Nov 200615 Nov 2006
Issue R37Wrong namespace for ServiceRefType in exampleresolvededitorial14 Nov 20069 Nov 200615 Nov 2006
Issue R38Wrong examples in 8.4resolvededitorial14 Nov 20069 Nov 200615 Nov 2006
Issue R39Make <completionCondition> element extensibleresolvedsubstantive14 Nov 200610 Nov 200615 Nov 2006
Issue R40From/To Extensibilityresolvedsubstantive14 Nov 200610 Nov 200615 Nov 2006
Issue R41IPR statements - feedback from Hitachi Ltd.resolvedno changeNo change13 Nov 200615 Nov 2006
Issue R42replace HTML entity in sample with XML equivalentresolvededitorial14 Nov 200615 Nov 200615 Nov 2006
Issue R43Simplify partnerLink usageresolvedsubstantive16 Nov 200616 Nov 200621 Nov 2006

The colour of the issue title is determined by the status: green=resolved (43 issues). (Those numbers count sub-issues as separate.) According to the TC issue procedures (issues process document), the formal status values are "open" and "resolved". The "In spec" entry in resolved issues indicates that the required editting has been checked into the repository version of the text, on or before the date given. Note that such changes are NOT reflected in the fixed public review text.


Issue R1: keepSrcElement behavior for virtual <assign>'s

Status: resolved
Change status: substantive
In spec: 6 Nov 2006
Note: This issue has been transferred from the original main list. As was received after 21 July 2006, in accordance with a TC decision, it was deferred until after the public review started.
Date added: 4 Aug 2006
Date submitted: 04 August 2006
Submitter: Mark Ford
Description:

The recent work on Issue 280 got me thinking about keepSrcElement as it relates to the virtual assigns used to describe the behavior of <fromParts>, <toParts>, and receiving into or transmitting an element variable.

Section 10.3 describes invoking with an element variable as equivalent to declaring an anonymous temporary WSDL message variable and using the element’s value to “set the value of the part”. It is reasonable to assume that the spec here is referencing the <assign> rules but it is not explicit.

Section 10.3.1 describes invoking with <toParts> as working as a single virtual <assign> using the same rules as the real <assign>. There is a normative MUST in this section which precludes the possibility of applying the keepSrcElement behavior since it is off by default on the real <copy>.

The lack of the keepSrcElement behavior for these virtual <assign>’s means that the root element of the variable being sent or received may change when it is copied to or from the WSDL message. This is definitely the behavior with <fromPart> and <toPart> and could be interpreted as being the behavior of the element variants of web service activities.
Submitter's proposal: I’d like to see the keepSrcElement behavior enabled for these virtual <assign>’s. Dieter has suggested adding “keepSrcElement” to the <fromPart> and <toPart> elements to control this behavior. I’m agreeable to this but we still need to handle the element style invokes and receives. If we want the behavior to be configurable as opposed to always enabled then perhaps we could add the keepSrcElement attribute to the web service activities as well.
Resolution: Proposed in Mark Ford, 25 Oct 2006, agreed with amendment 1 Nov 2006

Final resolution is in Mark Ford, 1 Nov 2006
Links: Announcement, 7 Aug 2006     Mark Ford, 6 Oct 2006     Proposed resolution (Mark Ford, 25 Oct 2006)     Danny van der Rijn, 25 Oct 2006     Mark Ford, 25 Oct 2006     Danny van der Rijn, 25 Oct 2006     Mark Ford, 25 Oct 2006     Mark Ford, 1 Nov 2006
Changes: 4 Aug 2006 - new issue;    16 Aug 2006 - fields: Links;    10 Sep 2006 - fields: Status, Note;    20 Sep 2006 - fields: Status;    6 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Links, Status, Proposed resolution;    30 Oct 2006 - fields: Links;    2 Nov 2006 - fields: Links, Status, Proposed resolution, Resolution, Change status;    6 Nov 2006 - fields: In spec


Issue R2: Zero or Negative Duration Values

Status: resolved
Change status: substantive
In spec: 24 Oct 2006
Date added: 10 Sep 2006
Date submitted: 07 September 2006
Submitter: Dieter Koenig
Description: The XML Schema data type "duration" allows zero or negative values (see http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/#duration): "An optional preceding minus sign ('-') is allowed, to indicate a negative duration".

The WS-BPEL 2.0 specification (public review draft) is silent w.r.t. the behavior if a specified duration has a zero or negative value.
Submitter's proposal: I propose that language is added which specifies that

  1. wait and onAlarm are immediately executed if a specified duration has a zero or negative value
  2. zero or negative values are disallowed for repeatEvery
10.7. Delayed Execution - Wait Add to the end of the first paragraph: "If a specified duration value is zero or negative then the wait activity completes immediately."

11.5. Selective Event Processing – Pick Add to the end of the second bullet in the second paragraph: "If a specified duration value is zero or negative then <onAlarm> event occurs immediately. Again, the handling of race conditions is implementation dependent."

12.7.2. Alarm Events Add after the fourth sentence in the first paragraph: "If the specified duration value is zero or negative then the <onAlarm> event is executed immediately.". Add to the end of the first paragraph: "If the specified duration value is zero or negative then the standard fault bpel:invalidExpressionValue MUST be thrown."

12.7.4.1. Alarm Events Add to the end of the first paragraph: "If the specified duration value is zero or negative then the standard fault bpel:invalidExpressionValue MUST be thrown."


Resolution: Proposed in Dieter Koenig1, 26 Sep 2006, agreed conf call, 4 Oct 2006

Text as in Dieter Koenig1, 26 Sep 2006
Links: Announcement, 10 Sep 2006     Proposed resolution (Dieter Koenig1, 21 Sep 2006)     Proposed resolution (Dieter Koenig1, 26 Sep 2006)
Changes: 10 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status;    21 Sep 2006 - fields: Links, Status, Proposed resolution;    26 Sep 2006 - fields: Links, Status, Proposed resolution;    4 Oct 2006 - fields: Change status, Status, Proposed resolution, Resolution;    25 Oct 2006 - fields: In spec


Issue R3: Appendix H - earlier members need to be added

Status: resolved
Change status: editorial
In spec: 6 Nov 2006
Date added: 10 Sep 2006
Date submitted: 08 September 2006
Submitter: Diane Jordan
Description: Appendix H, listing the members of the TC during the progression of the WS-BPEL v2.0 document, needs to be corrected to pick up earlier members.

Among others, the following original BPEL4WS 1.1 authors are not listed - (checks need to be made whether they actually joined the TC)


Resolution: Proposed in Diane Jordan, 31 Oct 2006, agreed 1 Nov 2006

See proposal in Diane Jordan, 31 Oct 2006
Links: Announcement, 10 Sep 2006     Proposed resolution (Diane Jordan, 31 Oct 2006)     Danny van der Rijn, 1 Nov 2006
Changes: 10 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status;    31 Oct 2006 - fields: Links, Status, Proposed resolution;    2 Nov 2006 - fields: Links, Status, Proposed resolution, Change status, Resolution;    6 Nov 2006 - fields: In spec


Issue R4: missing namespace prefix declaration in Section 15.4.1

Status: resolved
Change status: editorial
In spec: 21 Sep 2006
Date added: 15 Sep 2006
Date submitted: 15 September 2006
Submitter: Mark Ford
Description: The namespace prefix “vprop” is not declared in the sample WSDL for the Auction Service.
Submitter's proposal: The prefix should be http://docs.oasis-open.org/wsbpel/2.0/varprop
Resolution: Decided conf call 20 Sep 2006 As submitter's proposal
Links: Announcement, 15 Sep 2006
Changes: 15 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status, Resolution;    21 Sep 2006 - fields: In spec;    4 Oct 2006 - fields: Change status

Issue R5: Wrong namespace in Section 13.1.2

Status: resolved
Change status: editorial
In spec: 21 Sep 2006
Date added: 15 Sep 2006
Date submitted: 15 September 2006
Submitter: Mark Ford
Description: This is described as Action Item 160.

From the Action Item:

This section has a process snippet that introduces the "abstractProcessProfile" attribute. The xmlns for the process element is http://docs.oasis-open.org/wsbpel/2.0/process/executable but it should be http://docs.oasis-open.org/wsbpel/2.0/process/abstract

Resolution: Decided conf call 20 Sep 2006 As submitter's proposal
Links: Announcement, 15 Sep 2006
Changes: 15 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status, Resolution;    21 Sep 2006 - fields: In spec;    4 Oct 2006 - fields: Change status

Issue R6: TOC is messed up in PDF version

Status: resolved
Change status: editorial
In spec: No editing required
Date added: 15 Sep 2006
Date submitted: 15 September 2006
Submitter: Danny van der Rijn
Description:

The highest page number that the PDF TOC refers to is '3'

The TOC should have been regenerated prior to creating the PDF.
Resolution: Decided conf call 20 Sep 2006
Sent to editors for correction

Since the correction only concerns the final production of the alternative forms of the document, no editing is required.
Links: Announcement, 15 Sep 2006
Changes: 15 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status, Resolution;    21 Sep 2006 - fields: In spec, Resolution;    4 Oct 2006 - fields: Change status


Issue R7: Figure 1 truncated in XHTML

Status: resolved
Change status: editorial
In spec: No editing required
Date added: 15 Sep 2006
Date submitted: 15 September 2006
Submitter: John Evdemon
Description: Figure 1 in the XHTML version is truncated. All past HTML versions have truncated this figure too. Very strange.
Resolution: Decided conf call 20 Sep 2006
Sent to editors for correction

Since the correction only concerns the final production of the alternative forms of the document, no editing is required.
Links: Announcement, 15 Sep 2006
Changes: 15 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status, Resolution;    21 Sep 2006 - fields: In spec, Resolution;    4 Oct 2006 - fields: Change status


Issue R8: Create separate isolation domain for isolated scope's compensation handler

Status: resolved
Change status: substantive
In spec: 26 Oct 2006
Date added: 18 Sep 2006
Date submitted: 18 September 2006
Submitter: Mark Ford
Description: Section 12.7 Isolated Scopes describes the compensation handler for an isolated scope as not sharing the isolation domain for its associated scope. This is correct but it fails to define whether the compensation handler has its own separate isolation domain. The result is that the compensation handler for an isolated scope is not isolated. This leads to the inconsistency where compensation handlers nested within an isolated scope will execute within an isolation domain only if called by the isolated scope’s fault or termination handler and not if called by the isolated scope’s compensation handler. This inconsistency was first raised as part III of Issue 10 but for some reason it was not part of the final proposed resolution.
Resolution: Proposed in Alex Yiu, 20 Oct 2006, agreed conf call Oct 25 2006

As the proposal in Alex Yiu, 20 Oct 2006
Links: Announcement, 18 Sep 2006     Alex Yiu, 4 Oct 2006     Mark Ford, 6 Oct 2006     Proposed resolution (Alex Yiu, 10 Oct 2006)     Proposed resolution (Alex Yiu, 18 Oct 2006)     Dieter Koenig1, 18 Oct 2006     Alex Yiu, 20 Oct 2006
Changes: 18 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status;    4 Oct 2006 - fields: Links;    6 Oct 2006 - fields: Links;    11 Oct 2006 - fields: Links, Status, Proposed resolution;    18 Oct 2006 - fields: Links, Status, Proposed resolution;    21 Oct 2006 - fields: Links;    31 Oct 2006 - fields: Status, In spec, Proposed resolution, Resolution;    2 Nov 2006 - fields: Change status


Issue R9: Remove LED Comment on eventHandlers declaration

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 19 Sep 2006
Date submitted: 15 September 2006
Submitter: Danny van der Rijn
Description: The following is in the XSD declaration of eventHandlers

<xsd:documentation>
       Child element onAlarm needs to be a LED, because there is another
       onAlarm element defined for the pick activity.
</xsd:documentation> 

This is only interesting to XSD authors, and so probably not for the general audience.
Submitter's proposal: Remove the comment
Resolution: Proposed in Diane Jordan, 4 Oct 2006, agreed conf call 4 Oct 2006

Text as in Diane Jordan, 4 Oct 2006
Links: Announcement, 19 Sep 2006     Danny van der Rijn, 19 Sep 2006     Danny van der Rijn, 20 Sep 2006     Alex Yiu, 20 Sep 2006     Diane Jordan, 4 Oct 2006
Changes: 19 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status, Links;    4 Oct 2006 - fields: Status, Change status, Resolution, Links;    25 Oct 2006 - fields: In spec


Issue R10: Definition of IMA scope

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 19 Sep 2006
Date submitted: 18 September 2006
Submitter: Alex Yiu
Description:

I would like to request to open a review issue to improve the ease of understanding of the spec. The discussion was under the thread of subject: "A possible issue concerning the definition of IMA scope" started by Ron Ten-Hove.

If the issue is passed, we would just need to refine some cross-referencing of terms and bookmark.
Submitter's proposal:

Besides 10.4.1, another relevant part of IMA and message exchange handling is in section 12.2:

12.2. Message Exchange Handling

When the primary activity and the event handlers of a <scope> complete then all Web service interactions dependent on partner links or message exchanges declared inside of the <scope> need to be completed. An orphaned IMA occurs when an IMA using a partner link or message exchange, declared in the completing <scope> or its descendants, remains open. ....

I would suggest to do a brief update in 10.1.4 from:

Further if an open IMA goes out of scope prior to being closed
to:
Further if an open IMA goes out of scope (known as an orphaned IMA) prior to being closed
from:
(see section 12. Scopes for other details of bpel:missingReply).
to:
(see section 12.2 Message Exchange Handling for other details of bpel:missingReply and orphaned IMA).

Resolution: Proposed in Alex Yiu, 22 Sep 2006, agreed conf call, 4 Oct 2006

Text as in Alex Yiu, 22 Sep 2006
Links: Ron Ten-Hove, 23 Aug 2006     Danny van der Rijn, 23 Aug 2006     Alex Yiu, 23 Aug 2006     Monica J. Martin, 23 Aug 2006     Announcement, 19 Sep 2006     proposed resolution
Changes: 19 Sep 2006 - new issue;    19 Sep 2006 - fields: Links;    20 Sep 2006 - fields: Status;    25 Sep 2006 - fields: Proposed resolution, Status, Links;    4 Oct 2006 - fields: Change status, Status, Proposed resolution, Resolution;    25 Oct 2006 - fields: In spec


Issue R11: Section 12.7 Duplicated (Two Sections)

Status: resolved
Change status: editorial
In spec: 21 Sep 2006
Date added: 20 Sep 2006
Date submitted: 20 Sep 2006
Submitter: Monica J. Martin
Description: There are actually two Sections 12.7:

12.7. Event Handlers 12.7. Isolated Scopes
Proposed resolution: Verify and correct. Also, may need to verify and update other related section reference inconsistencies. Note, this Section 12.7 numbering change may affect at a minimum:

  1. Sections subsequent to 12.7 Event Handlers
  2. All references through the specification that reference those sections in 1. including any for static analysis where applicable.

Resolution: Decided conf call 20 Sep 2006 Sent to editors for correction
Links: Announcement, 20 Sep 2006
Changes: 20 Sep 2006 - new issue;    20 Sep 2006 - fields: Status, Resolution, Links;    21 Sep 2006 - fields: In spec;    4 Oct 2006 - fields: Change status

Issue R12: Isolated Scopes

Status: resolved
Change status: editorial
In spec: 21 Sep 2006
Date added: 20 Sep 2006
Date submitted: 20 Sep 2006
Submitter: Dieter Koenig1
Description: The first paragraph of Section 12.7. reads as follows:
The isolated attribute of a scope, when set to "yes", provides control of concurrent access to shared resources: variables, partner links, and control dependency links. Its default value is "no". Such a scope is called an isolated scope.
The last two sentences suggest that a scope with the default value "no" for the isolated attribute is called an isolated scope, which is not the intention.
Submitter's proposal: Reverse the order of the last two sentences of this paragraph and revise the new last sentence.
The isolated attribute of a scope, when set to "yes", provides control of concurrent access to shared resources: variables, partner links, and control dependency links. Such a scope is called an isolated scope. The default value of the isolated attribute is "no".

Resolution: Decided conf call 20 Sep 2006 As submitter's proposal
Links: Announcement, 20 Sep 2006
Changes: 20 Sep 2006 - new issue;    20 Sep 2006 - fields: Status, Resolution, Links;    21 Sep 2006 - fields: In spec;    4 Oct 2006 - fields: Change status

Issue R13: BPEL partner link assignments

Status: resolved
Change status: no change
In spec: no change
Date added: 20 Sep 2006
Origin: Public comment - Andi Abes, 20 Sep 2006
Date submitted: 20 September 2006
Description: I'm trying to understand the semantics of assignment to and from partner links in BPEL, and the spec left me with a few open questions.

For the purpose of discussion, I'm considering a simple "router" process (R). The one operation exposed by this process includes 2 parts:

  1. an amount (xsd:int)
  2. the EPR of the requesting process (process REQ)
This operation is one way.

Based on content in the incoming request, the router chooses a process (process B) to "forward" the request to. Process B is expected to invoke an agreed upon operation on Process REQ, using the EPR information in the message.

There are 2 possible implementations:

  1. The router process assigns from the receiving partner link to a variable (or message part) which is then relayed to process B. Process B then performs its activities and assigns this value to the a partner link which it uses to invoke an operation on REQ.
  2. REQ is responsible to assign from "myrole" on the partner link facing the router into the a message it eventually sends it.

Based on my reading of the 8/23 draft, both implementations are supported.

The questions for which I have no clear answer are:

  1. Is implementation option a) supported ?

    Assuming it is, the spec in silent on IMA activities affecting the partner link for the purpose of assign activities, and the lifetime of the partner link value.

    My expectation would be that once an IMA activity has completed, assigning from the partner link would yield the reply-to EPR.

    Would this also require the partner link variants of the Assign activity to include a messageExchange attribute.

  2. Assuming the above is valid, what would the schema type of the variable( or message part) into which the EPR is assigned be? serf:service-reference - in the case of message part, this would cause BPEL specific types to be "leaked" into the abstract WSDL. wsa:endpoint-reference - this would bind the BPEL process to a specific addressing scheme.

    In either case, it would be useful for the spec to be specific about this point (and an example would be great).

  3. Section 6.3 ("Endpoint References")states:
    The <sref:service-ref> element is not always exposed to WS-BPEL process definitions. For example, it is not exposed in an assignment from the endpoint reference of myRole of partnerLink-A to that of partnerRole of partnerLink-B. On the contrary, it is exposed in an wsbpel-specification-assignment from a messageType or element based variable through expression or from a literal <sref:service-ref>.

    Section 8.4.3 states that the following is not a valid assignment: the selection result of the from-spec is a variable of a WSDL message type and that of the to-spec is not, or vice versa (parts of variables, selections of variable parts, or endpoint references cannot be assigned to/from variables of WSDL message types directly).

    It is not clear if these to sections are contradicting.

    If assignments to/from partner links is allowed (which is explicitly stated in section 8.4), what are the valid combinations?


Resolution: Decided conf call, 18 Oct 2006

close with no change. Explanation has been provided to address the questions raised by this comment. TC doesn't see a need for further action.
Links: Announcement, 20 Sep 2006     Dieter Koenig1, 22 Sep 2006     Dieter Koenig1, 25 Sep 2006     James Pasley, 25 Sep 2006     Danny van der Rijn, 25 Sep 2006     Dieter Koenig1, 26 Sep 2006     Diane Jordan, 16 Oct 2006     Diane Jordan, 23 Oct 2006
Changes: 20 Sep 2006 - new issue;    21 Sep 2006 - fields: Links;    22 Sep 2006 - fields: Links;    25 Sep 2006 - fields: Links;    26 Sep 2006 - fields: Links;    17 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Status, In spec, Resolution, Links


Issue R14: Reference source not found in section 12.4

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 21 Sep 2006
Date submitted: 21 September 2006
Submitter: Alejandro Guizar
Description: The last paragraph of section 12.4 reads:
A fault inside a termination handler MUST NOT be not propagated to the enclosing scope (see section Error! Reference source not found.). Other than that, all of the statements about fault handlers apply to termination handlers as well.

The section link should be fixed. This applies to the HTML and PDF versions. Other versions might be affected too.

There are also broken links in 11.7 and 12.5
Resolution: Proposed and agreed, conf call 4 Oct 2006

Referred to editors for fixing
Links: Announcement, 21 Sep 2006
Changes: 21 Sep 2006 - new issue;    22 Sep 2006 - fields: Links;    4 Oct 2006 - fields: Status, Change status, Resolution;    25 Oct 2006 - fields: In spec


Issue R15: Fix description of abnormal process completion

Status: resolved
Change status: substantive
In spec: 26 Oct 2006
Date added: 26 Sep 2006
Date submitted: 26 September 2006
Submitter: Mark Ford
Description: Section 5.5 contains a description of the lifecycle of a business process. This section contains some text which should have been modified as part of Issue 277. That issue removed some text which didn’t allow for a process level default fault handler to execute. The text in Section 5.5 makes a reference to that text. As it reads now, Section 5.5 implies that a process level default fault handler would not execute. The text should read that a process ends abnormally after its process level fault handler completes. There is also a new case where a process level fault handler could itself fault which would cause the process to end immediately.

Thanks to Monica for finding this inconsistency and Alex for providing some edits.
Submitter's proposal:

Change paragraph in Section 5.5 FROM:

A business process instance ends either normally or abnormally. The process ends normally when the main activity of the process completes. The process ends abnormally if either:

TO:

A business process instance ends either normally or abnormally. The process ends normally when the main activity of the process completes. The process ends abnormally if either:


Resolution: Proposed in Alex Yiu, 20 Oct 2006, amended and agreed conf call Oct 25 2006

As the proposal in Alex Yiu, 20 Oct 2006 with the amendment in Dieter Koenig1, 25 Oct 2006
Links: Alex Yiu, 4 Oct 2006     Alex Yiu, 4 Oct 2006     Danny van der Rijn, 4 Oct 2006     Danny van der Rijn, 4 Oct 2006     Announcement, 4 Oct 2006     Alex Yiu, 20 Oct 2006     Mark Ford, 20 Oct 2006     Monica J. Martin, 20 Oct 2006     Proposed resolution (Alex Yiu, 20 Oct 2006)     Proposed resolution (Dieter Koenig1, 25 Oct 2006)
Changes: 26 Sep 2006 - new issue;    4 Oct 2006 - fields: Status, Links;    6 Oct 2006 - fields: Links;    21 Oct 2006 - fields: Links, Status, Proposed resolution;    30 Oct 2006 - fields: Links, Status, Proposed resolution;    31 Oct 2006 - fields: In spec, Status, Proposed resolution, Resolution;    2 Nov 2006 - fields: Change status


Issue R16: confusing description of Message Exchange Handling

Status: resolved
Change status: substantive
In spec: 6 Nov 2006
Date added: 26 Sep 2006
Date submitted: 26 September 2006
Submitter: Mark Ford
Description: Section 12.2 contains a paragraph and bullet points that define an orphaned IMA and how they should be detected and handled. I’m having a hard time understanding the 2nd bullet:

I get lost after the second sentence. What fault is the 3rd sentence referring to? If it MUST NOT be generated and thrown, then what is the point of the 4th sentence?
Resolution: Proposed in Danny van der Rijn, 26 Oct 2006, agreed 1 Nov 2006

See proposal in Danny van der Rijn, 26 Oct 2006
Links: Proposed resolution (Danny van der Rijn, 4 Oct 2006)     Announcement, 4 Oct 2006     Mark Ford, 6 Oct 2006     Danny van der Rijn, 6 Oct 2006     Mark Ford, 6 Oct 2006     Danny van der Rijn, 6 Oct 2006     Proposed resolution (Danny van der Rijn, 26 Oct 2006)
Changes: 26 Sep 2006 - new issue;    4 Oct 2006 - fields: Links, Status, Proposed resolution;    6 Oct 2006 - fields: Links;    31 Oct 2006 - fields: Proposed resolution, Links;    2 Nov 2006 - fields: Status, Proposed resolution, Change status, Resolution;    6 Nov 2006 - fields: In spec


Issue R17: Schema for abstract processes is not valid

Status: resolved
Change status: substantive
In spec: 24 Oct 2006
Date added: 4 Oct 2006
Date submitted: 29 September 2006
Submitter: Thomas Schulze
Description: The schema for abstract processes (ws-bpel_abstract_common_base.xsd) contains the complex type tOnAlarmEvent:
<xsd:complexType name="tOnAlarmEvent">
 <xsd:complexContent>
   <xsd:extension base="tExtensibleElements">
     <xsd:sequence>
       <xsd:choice>
         <xsd:sequence>
           <xsd:group ref="forOrUntilGroup" minOccurs="0"/>
           <xsd:element ref="repeatEvery" minOccurs="0"/>
         </xsd:sequence>
         <xsd:element ref="repeatEvery" minOccurs="0"/>
       </xsd:choice>
       <xsd:element ref="scope" minOccurs="0"/>
     </xsd:sequence>
   </xsd:extension>
 </xsd:complexContent>
</xsd:complexType>

This is not valid XML schema, because the content model is not deterministic. If in an instance document the first child element is <bpel:repeatEvery> it's not clear which path in the schema applies. Within the choice it can be either be the sequence path (forOrUntilGroup's minOccurs="0" allows that) or the second repeatEvery element reference path.
Submitter's proposal: The schema for abstract processes needs to be changed with the result that the content model is deterministic. I propose to replace the complex type found in the description above with the following complex type:

<xsd:complexType name="tOnAlarmEvent">
 <xsd:complexContent>
   <xsd:extension base="tExtensibleElements">
     <xsd:sequence>
       <xsd:group ref="forOrUntilGroup" minOccurs="0"/>
       <xsd:element ref="repeatEvery" minOccurs="0"/>
       <xsd:element ref="scope" minOccurs="0"/>
     </xsd:sequence>
   </xsd:extension>
 </xsd:complexContent>
</xsd:complexType> 

The copy of the schema in the appendix of the specification needs to be changed accordingly.
Resolution: Decided conf call, 18 Oct 2006

As submitter's proposal
Links: Announcement, 4 Oct 2006
Changes: 4 Oct 2006 - new issue;    6 Oct 2006 - fields: Links;    25 Oct 2006 - fields: In spec, Status, Change status, Resolution


Issue R18: Uniqueness of WSDL Faults

Status: resolved
Change status: substantive
In spec: 26 Oct 2006
Date added: 10 Oct 2006
Date submitted: 10 October 2006
Submitter: Danny van der Rijn
Description: 1) Assume I have a WSDL portType that looks like the following:
portType pT
    operation op
          input element = "a:b"
          output element = "a:c"
          fault name="fault1" element = "a:fault"
          fault name="fault2" element = "a:fault"

Most WSDL transports (e.g. SOAP) do not tranport fault names on the wire. Usually all that is transmitted is the "a:fault" element, wrapped in some information that does not include the fault name.

Yet 10.3 states that "This results in a fault identified in WS-BPEL by a QName formed by the target namespace of the corresponding port type and the fault name." We have no way of deriving, in this case, whether we're talking about foo:fault1 or foo:fault2.

Possible resolutions include

2) Can't find in the spec what the QName of a non-declared fault is.
Resolution: Amended and agreed, conf call 25 Oct 2006

Change 10.3, page 86 from

In WSDL it is possible to declare an operation that declares more than one fault using the same data type. Certain WSDL bindings do not provide enough information for the WS-BPEL process to infer which fault was intended. In this case, the WS-BPEL process MUST infer the first fault declared for the operation that matches the transmitted data. A result of this requirement is that a process may have different behavior when deployed against different bindings.
To:
In WSDL it is possible to define an operation that declares more than one fault using the same data type. Certain WSDL bindings do not provide enough information for the WS-BPEL processor to determine which fault was intended. In this case, the WS-BPEL processor MUST select the fault that: A result of this requirement is that a process, which uses the <catch> construct based on faultName and deals with such an operation definition, may have different behavior when deployed against different bindings.

and section 3, P. 11 change to

While WS-BPEL attempts to provide as much compatibility with WSDL 1.1 as possible there are three areas where such compatibility is not feasible.

Links: Announcement, 10 Oct 2006     Alex Yiu, 10 Oct 2006     Danny van der Rijn, 10 Oct 2006     Dieter Koenig1, 13 Oct 2006     Danny van der Rijn, 13 Oct 2006     Danny van der Rijn, 18 Oct 2006     Alex Yiu, 20 Oct 2006     Diane Jordan, 25 Oct 2006     Monica J. Martin, 3 Nov 2006     Diane Jordan, 3 Nov 2006     Monica J. Martin, 3 Nov 2006     bullet lists in resolution corrected     see issue R31
Changes: 10 Oct 2006 - new issue;    11 Oct 2006 - fields: Links;    14 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Status, Links, Proposed resolution, Change status, Resolution;    30 Oct 2006 - fields: Links, In spec;    6 Nov 2006 - fields: Links;    7 Nov 2006 - fields: Links

Issue R19: Syntax-fault in example on page 168

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 11 Oct 2006
Date submitted: 11 October 2006
Submitter: Simon D Moser
Description: The Process "shippingService" (on page 168 of the public review draft) has a syntax error.
<invoke partnerLink="customer"
    operation="shippingNotice"
    inputVariable="shipNotice" />
<correlations>
    <correlation set="shipOrder" pattern="request" /> </correlations> </invoke>
The problem is that the invoke-tag should *NOT* be closed ("/>") before the correlation tag opens.
Submitter's proposal: It should be like this:
<invoke partnerLink="customer"
    operation="shippingNotice"
    inputVariable="shipNotice">
    <correlations>
        <correlation set="shipOrder" pattern="request" />
    </correlations>
</invoke>

Resolution: Decided conf call, 18 Oct 2006

As submitter's proposal
Links: Announcement, 11 Oct 2006
Changes: 11 Oct 2006 - new issue;    12 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Status, Change status, Resolution, In spec


Issue R20: Fault handling example in Section 12.5 is incorrect

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
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.

Resolution: Decided conf call, 18 Oct 2006

As submitter's proposal
Links: Announcement, 16 Oct 2006
Changes: 16 Oct 2006 - new issue;    17 Oct 2006 - fields: Links;    25 Oct 2006 - fields: In spec, Status, Change status, Resolution


Issue R21: Static Analysis requirement for Variable Reference Resolution, Section 12.7.1 and Appendix B

Status: resolved
Change status: editorial
In spec: 6 Nov 2006
Date added: 16 Oct 2006
Date submitted: 16 October 2006
Submitter: Monica Martin
Description: In Section 12.7.1, static analysis requirements apply for <correlation>, <messageExchange>, and <partnerLink> for resolution to the appropriate scope. However, one static analysis requirement may have been missed for variable references.
Submitter's proposal: Add static analysis requirement in Section 12.7.1 and for Appendix B for:

The variable references are resolved to the associated scope only and MUST NOT be resolved to the ancestor scopes.

Note, this text already exists as stated in Section 12.7.1.
Resolution: Proposed in Monica J. Martin, 23 Oct 2006, agreed 1 Nov 2006

See proposal in Monica J. Martin, 23 Oct 2006
Links: Announcement, 16 Oct 2006     Proposed resolution (Monica J. Martin, 23 Oct 2006)
Changes: 16 Oct 2006 - new issue;    17 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Links, Status, Proposed resolution;    2 Nov 2006 - fields: Status, Proposed resolution, Change status, Resolution;    6 Nov 2006 - fields: In spec


Issue R22: <rethrow> of Fault Name and Fault Data Where Present

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 17 Oct 2006
Date submitted: 16 October 2006
Submitter: Monica J. Martin
Description: The semantics of <rethrow> are quite specific about fault data but no explicit mention is made about the fault name of the original fault where present. No references are found in Section 5, 10 or 12 where <rethrow> is addressed. Therefore, a minor editorial revision is suggested in Section 10.1 (i.e. in first sentence).
Submitter's proposal: Change from:
The <rethrow> activity is used in fault handlers to rethrow the fault they caught. It can be used only within a fault handler (<catch> and <catchAll>). Modifications to the fault data MUST be ignored by <rethrow>. For example, if the logic in a fault handler modifies the fault data and then call <rethrow>, the original fault data would be rethrown and not the modified fault data. Similarly if a fault is caught using the shortcut that allows message type faults with one part defined using an element to be caught by fault handlers looking for the same element type, then a <rethrow> would rethrow the original message type data (see section 12.5. Fault Handlers).
to:
The <rethrow> activity is used in fault handlers to rethrow the fault they caught, i.e. the fault name and fault data of the original fault where present. It can be used only within a fault handler (<catch> and <catchAll>). Modifications to the fault data MUST be ignored by <rethrow>. For example, if the logic in a fault handler modifies the fault data and then call <rethrow>, the original fault data would be rethrown and not the modified fault data. Similarly if a fault is caught using the shortcut that allows message type faults with one part defined using an element to be caught by fault handlers looking for the same element type, then a <rethrow> would rethrow the original message type data (see section 12.5. Fault Handlers).

Resolution: Decided conf call, 18 Oct 2006

As proposed in Monica J. Martin, 18 Oct 2006
Links: Announcement, 17 Oct 2006     Proposed resolution (Monica J. Martin, 18 Oct 2006)
Changes: 17 Oct 2006 - new issue;    18 Oct 2006 - fields: Links, Status, Resolution;    25 Oct 2006 - fields: Status, Change status, Resolution, In spec


Issue R23: Clarification on Schema Variable Validation

Status: resolved
Change status: editorial
In spec: 24 Oct 2006
Date added: 17 Oct 2006
Date submitted: 16 October 2006
Submitter: Monica J. Martin
Description: In Section 8.1, Variables, under Variable Validation, the <validate> activity and schema validation are described. However, the separation of these two concepts and the use of the latter needs editorial clarification.
Submitter's proposal: Clarify that validation of incoming and outgoing messages relates to schema validation. See attachment to message raising issue that shows the change in bold green text and paragraph break suggested.
Resolution: Decided conf call, 18 Oct 2006

As submitter's proposal
Links: referenced pdf document (document details)     Announcement, 17 Oct 2006
Changes: 17 Oct 2006 - new issue;    17 Oct 2006 - fields: Links;    18 Oct 2006 - fields: Links;    25 Oct 2006 - fields: Status, Change status, Resolution, In spec


Issue R24: Externally referenced locally-scoped partnerLinks

Status: resolved
Change status: no change
In spec: no change
Date added: 17 Oct 2006
Origin: Public comment - Jim Clunes, 16 October 2006
Date submitted: 17 October 2006
Description: Is there a standard way to refer to a locally-scoped partnerLink from outside the process? My reading of the specification is that partnerLink names need only be unique within the scope that they are defined, not necessarily unique to the entire process.

However, the last sentence of section 6.2 says:

The initial binding information of a <partnerLink> can be set as a part of business process deployment, regardless of whether it is declared on the <process> or <scope> element level.

What identifier should deployment descriptors use to reference these locally-scoped partnerLinks for the purpose of initializePartnerRole?
Resolution: Review and closed, conf call 1 Nov 2006

the TC reviewed this issue and voted to close it with no change to the spec. This is out of scope for the WS BPEL 2.0 spec
Links: Announcement, 17 Oct 2006     Dieter Koenig1, 18 Oct 2006     Danny van der Rijn, 18 Oct 2006     Diane Jordan, 1 Nov 2006
Changes: 17 Oct 2006 - new issue;    18 Oct 2006 - fields: Links;    2 Nov 2006 - fields: Links, Status, In spec, Resolution


Issue R25: wording for conflictingReceive and ambiguousReceive

Status: resolved
Change status: substantive
In spec: 15 Nov 2006
Date added: 18 Oct 2006
Origin: Public comment - Marlon Dumas, 18 Oct 2006
Date submitted: 18 October 2006
Description: The following statement may need to be clarified in the spec: "If during the execution of a business process instance, two or more receive activities for the same partnerLink, operation and correlationSet(s) are simultaneously enabled, then the standard fault bpel:conflictingReceive MUST be thrown."

In this constraint, "two or more receive activities" should not be interpreted as meaning "two or more instances of the same receive activity", but instead: "two or more instances of different receive activities". Indeed, it is possible that the same "receive activity" within a scope nested in an event handler or parallel foreach, is "enabled" multiple times simultaneously, possibly once for each instance of the scope. In such cases, I am assuming that "conflictingReceive" should not be thrown (otherwise, most "receive activities" appearing in a parallel foreach or event handler would unavoidably lead to faults). Consider the following example:

<foreach ... parallel="yes" ...>
  <scope>
    <partnerLinks>
       <partnerLink name="PL1" ... />
    </partnerLinks>
    <correlationSets>
       <correlationSet name="S1" ... />+
    </correlationSets>
    <invoke name="RA1" partnerLink="PL1" ... operation="OP1" inputVariable="...">
      <correlation set="S1" initiate="yes"/>
    </invoke>
    <receive name="RA" partnerLink="PL1" ... operation="OP1" ...>
      <correlation set="S1" initiate="no"/>
    </receive>
  </scope>
</foreach>
In this example, it is likely that multiple instances of the IMA "RA" may be enabled simultaneously. But no "conflictingReceive" would be thrown.

On the other hand, the following example may lead to a "conflictingReceive", as one instance of activity "RA1" may be enabled at the same time as one instance of "RA2".

<flow>
   <receive name="RA1" partnerLink="PL1" portType="PT1" operation="OP1" ...>
     <correlation set="S1" .../>
   </receive>
   <receive name="RA2" partnerLink="PL1" portType="PT1" operation="OP1">
     <correlation set="S1" .../>
   </receive>
</flow>

The first example discussed above also illustrates that the wording in the definition of "ambiguousReceive" in Appendix A warrants some clarification. The current definition says: "Thrown when a business process instance simultaneously enables two or more IMAs for the same partnerLink, portType, operation but different correlationSets, and the correlations of multiple of these activities match an incoming request message." The above is an example where two enabled instances of the same IMA may match the same incoming message.
Proposed resolution: Diane Jordan, 14 Nov 2006
Resolution: Proposed and agreed, f-t-f 15 Nov 2006

In 10.4 change to:

If during the execution of a business process instance, two or more receive activity instances for the same partnerLink, operation and correlationSet(s) are simultaneously enabled, then the standard fault bpel:conflictingReceive MUST be thrown (note bpel:conflictingReceive differs from bpel:conflictingRequest, see section 10.4.1. Message Exchanges). There may be receive activity instances on an operation where the partnerLink and correlationSet(s) are different, yet indistinguishable to a WS-BPEL processor at runtime. In these cases, a WS-BPEL processor SHOULD throw a bpel:conflictingReceive fault. closed and applied to the spec.

Links: Announcement, 18 Oct 2006     Dieter Koenig1, 26 Oct 2006     Proposed resolution (Diane Jordan, 14 Nov 2006)     Mark Ford, 15 Nov 2006
Changes: 18 Oct 2006 - new issue;    18 Oct 2006 - fields: Links;    30 Oct 2006 - fields: Links;    2 Nov 2006 - fields: Status;    15 Nov 2006 - fields: Links, Status, Proposed resolution

Issue R26: Default Compensation Order Conflict

Status: resolved
Change status: substantive
In spec: 15 Nov 2006
Date added: 30 Oct 2006
Date submitted: 27 October 2006
Submitter: Dieter Koenig
Description: Consider the following hierarchy of scopes. In this example, none of the scopes is isolated, all scopes only have default fault handlers and default termination handlers, and scopes "A" and "B" have custom compensation handlers.
scope name="S0"
   flow
      scope name="S1"
         scope name="A"
            source link="fromAtoB"
         ...
      scope name="S2"
         scope name="B"
            target link="fromAtoB"
         ...
      activity name="E"
Assume a point in time where scopes "A" and "B" and "S2" have completed successfully, and scope "S1" and activity "E" are still running.

Further assume that activity "E" now throws a fault which is caught by the default fault handler of scope "S0".

  1. All running activities inside of scope "S0" are terminated, and the default termination handler of scope "S1" compensates scope "A".
  2. The default fault handler of scope "S0" then compensates scope "S2", which in turn compensates scope "B".

The observed compensation order "A then B" is caused by the sequence "first termination, then fault handling". OTOH, the required compensation order "B then A" implied by the control dependency of "B" on "A".

This is a contradiction.

Note that this situation cannot occur when the scope "S1" is an isolated scope. In this case, the link "fromAtoB" cannot leave the scope "S1" before it completes. In this case, scope "S1" always completes before scope "S2", and compensation of "A" cannot be caused by a termination handler before scope "B" is compensated.

Moreover, this conflict is irrelevant if scope "S1" OR scope "S2" only contain default compensation handlers, because in this case, no custom compensation logic can be executed in the wrong order.
Submitter's proposal: In order to avoid conflicts between the termination-handling / fault-handling sequence and the default compensation order, different strategies can be considered, for example, enforcing the absence of such conflicts during static analysis. A less restrictive approach is proposed here, which only affects the runtime behavior.

At the end of section 12.5.2, add the following paragraph:

"The default compensation order is initiated by default termination handlers and default fault handlers, and recursively carried forward by compensation handlers. The termination phase always precedes the fault handling phase (see section 12.6. Termination Handlers). This sequence must not create a conflict with the default compensation order of scopes that are in a control dependency relationship. If all of the following is true:
  1. scope "S2" has a direct peer-scope dependency on scope "S1"
  2. the scope-controlled set of activities of scope "S1" contains default termination handlers
  3. the scope-controlled set of activities of scope "S1" AND scope "S2" both contain at least one custom compensation handler then a WS-BPEL processor MUST execute these scopes as if "S2" had a control dependency on scope "S1".

Resolution: Agreed, after many drafts, f-t-f 15 Nov 2006

In section 12.5.2 From:

Rule 1: Consider scopes A and B such that B has a control dependency on A. Assuming both A and B completed successfully and both must be compensated as part of default compensation behavior, the compensation handler of B MUST run to completion before the compensation handler of A is started.

To:

Rule 1: Consider scopes A and B such that B has a control dependency on A. Assuming both A and B completed successfully and both must be compensated as part of *a single* default compensation behavior, the compensation handler of B MUST run to completion before the compensation handler of A is started.

Add:

In some situations, a single fault signal can trigger multiple default compensation behaviors. Rule 1 above applies to each compensation behavior individually.

Links: Announcement, 30 Oct 2006     Danny van der Rijn, 30 Oct 2006     Alex Yiu, 30 Oct 2006     Rania Khalaf, 3 Nov 2006     Danny van der Rijn, 3 Nov 2006     Dieter Koenig1, 5 Nov 2006     Alex Yiu, 6 Nov 2006     Dieter Koenig1, 6 Nov 2006     Alex Yiu, 7 Nov 2006     Alex Yiu, 15 Nov 2006     dieterkoenig@de.ibm.com, 15 Nov 2006     Diane Jordan, 15 Nov 2006
Changes: 30 Oct 2006 - new issue;    30 Oct 2006 - fields: Links;    31 Oct 2006 - fields: Links;    2 Nov 2006 - fields: Status;    3 Nov 2006 - fields: Links;    6 Nov 2006 - fields: Links;    7 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Links, Status, Resolution;    16 Nov 2006 - fields: In spec, Links, Change status

Issue R27: Faults and Parallelism in Termination Handlers

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 30 Oct 2006
Date submitted: 27 October 2006
Submitter: Dieter Koenig
Description: Consider the following examples of parallelism inside of termination handlers.

Example 1. Assume that a custom termination handler contains a parallel forEach activity or a flow activity. In either case, assume that multiple concurrent branches are active. If one branch faults, the specification does not tell whether the other branches are allowed to complete or terminated.

Example 2. Assume that a default termination handler that compensates a compensation handler instance group. If one compensation handler instance faults, the specification does not tell whether the other compensation handler instances are allowed to complete or terminated.
Submitter's proposal: Add the following to the end of section 12.6.:

"If a custom termination handler contains parallel activities and one of these activities propagates a fault then all concurrent activities in the termination handler MUST be terminated. Likewise, if a default termination handler compensates a compensation handler instance group and one of the compensation handler instances propagates a fault then the other compensation handler instances of the compensation handler instance group MUST be terminated."

Resolution: Proposed and agreed, f-t-f 14 Nov 2006

Add to 12.6 before the last paragraph that starts " Forced termination of nexted ... "

A fault in a termination handler MUST cause all running contained activities to be terminated (see also Section 12.4.4.3 Compensation within FCT-Handlers).

Links: Announcement, 30 Oct 2006     Danny van der Rijn, 30 Oct 2006     Alex Yiu, 30 Oct 2006     Danny van der Rijn, 30 Oct 2006     deferred to ftf (see Diane Jordan, 1 Nov 2006)     Dieter Koenig1, 5 Nov 2006
Changes: 30 Oct 2006 - new issue;    30 Oct 2006 - fields: Links;    31 Oct 2006 - fields: Links;    2 Nov 2006 - fields: Links;    6 Nov 2006 - fields: Links;    15 Nov 2006 - fields: In spec, Change status, Status, Resolution

Issue R28: IPR for WS-BPEL2.0

Status: resolved
Change status: no change
In spec: No change
Date added: 2 Nov 2006
Origin: Public comment - Shigeaki Matsumoto, 25 Oct 2006 (public comment list)
Date submitted: 25 October 2006
Description: Concerning status of IPR for WS-BPEL2.0.

There is an existing IPR policy page http://www.oasis-open.org/committees/wsbpel/ipr.php, but is the statement limited to WS-BPEL1.1.

There are some questions:

Q1. Are there any essential patents to implement WS-BPEL2.0?

Q2. IPR agreements were necessary for WS-BPEL1.1. Are the same IPR agreements necessary for also WS-BPEL2.0?
Resolution: Proposed and agreed, f-t-f, 14 Nov 2006

As stated in Diane Jordan, 15 Nov 2006:

The public review process is intended for comments on the technical content of the specification. The process for IPR disclosures is different. According to OASIS process, when BPEL 2.0 started public review, a separate call for disclosure (see Mary McRae, 10 Sep 2006) was sent to TC members. If and when any updates are received they will be posted to the IPR page for the TC: http://www.oasis-open.org/committees/wsbpel/ipr.php. That is the source for any further information on this topic.
Links: Announcement, 2 Nov 2006     supporting public comment, ota hidenori, 8 Nov 2006 (public comment list)     issue R41 : IPR statements - feedback from Hitachi Ltd.     Diane Jordan, 15 Nov 2006
Changes: 2 Nov 2006 - new issue;    3 Nov 2006 - fields: Links, Origin;    9 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Links, Status, In spec, Resolution


Issue R29: Partner link's initializePartnerRole attribute

Status: resolved
Change status: substantive
In spec: 15 Nov 2006
Date added: 2 Nov 2006
Date submitted: 02 November 2006
Submitter: Mark Ford
Description: The purpose of the initializePartnerRole attribute on a partner link is to identify any partner links that the process will not initialize through an assign or some EPR scheme like the “reply-to” feature in WS-Addressing. These partner links must be initialized by some infrastructure logic specific to the processor. This logic is out of the scope of the specification but Section 6.2 suggests that it may take place during the deployment of the process.

There are a few problems with the attribute as it exists today.

  1. It is only used during deployment which is something that is not covered by the specification.
  2. There is no difference in the runtime behavior of the process if this attribute is “yes” or “no”. Why do we have an attribute that doesn’t affect runtime behavior?
  3. It may not be meaningful to process designers since the initialization of the partner role could occur through some mechanism outside of the WS-BPEL process like a reply-to in WS-Addressing. For example, if I am designing a process that receives data and then does an invoke on the same partner link, should I set the value of the initializePartnerRole attribute to “yes” or “no”. If I’m expecting the processing of the receive to update the partner link with a reply-to endpoint then I can set it to “no”. If I expect that the deployment packaging will provide me with an endpoint then I should set it to “yes”. It seems possible that I may not know the exact bindings at the time of the process creation.

It is also worth noting that the sample process in Section 15.3.2 defines two partner links without specifying the value of the initializePartnerRole attribute. It seems unlikely that WS-Addressing would be used to initialize the partner roles for these two partner links since they are only used for invokes.
Submitter's proposal:

Remove the attribute altogether from the partner link. This would affect about 3 paragraphs in Section 6.2 along with the appendix for default values and the schema.
Resolution: Proposed and agreed, f-t-f 15 Nov 2006

Keep the the attribute, remove explanatory text and add sentance that if the attribute is not specified, partner role may be initialized by a ws-bpel processor.
Links: Announcement, 2 Nov 2006     Alex Yiu, 5 Nov 2006     Mark Ford, 6 Nov 2006     Alex Yiu, 6 Nov 2006     Chris Keller, 7 Nov 2006     Alex Yiu, 7 Nov 2006     Dieter Koenig1, 7 Nov 2006     Chris Keller, 7 Nov 2006     Alex Yiu, 7 Nov 2006     Chris Keller, 7 Nov 2006     Alex Yiu, 7 Nov 2006     Dieter Koenig1, 9 Nov 2006     Mark Ford, 10 Nov 2006     Mark Ford, 13 Nov 2006     Alex Yiu, 14 Nov 2006     Alex Yiu, 14 Nov 2006
Changes: 2 Nov 2006 - new issue;    3 Nov 2006 - fields: Links;    6 Nov 2006 - fields: Links;    7 Nov 2006 - fields: Links;    8 Nov 2006 - fields: Links;    10 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links;    14 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status;    16 Nov 2006 - fields: In spec, Change status, Status, Resolution


Issue R30: Clarify when a <repeatEvery> expression is evaluated

Status: resolved
Change status: substantive
In spec: 14 Nov 2006
Date added: 6 Nov 2006
Submitter: Mark Ford
Description: Is the <repeatEvery> expression for an <onAlarm> evaluated when the <onAlarm>’s <for> or <until> are evaluated or is its evaluation deferred until the alarm for the <for> or <until> has been fired?

Section 12.7.2 is clear about when the clock for the <repeatEvery> starts but it isn’t clear about when the expression is evaluated.
Submitter's proposal: Mark Ford, 10 Nov 2006
Resolution: Submitter's proposal amended and agreed, f-t-f 14 Nov 2006 FROM:

If the <repeatEvery> expression is specified with either the <for> or the <until> expression, the first alarm is not fired until the time specified in the <for> or <until> expression expires; thereafter it is fired repeatedly at the interval specified by the <repeatEvery> expression. If the specified duration value for <repeatEvery> is zero or negative then the standard fault bpel:invalidExpressionValue MUST be thrown.
TO (bold text between *** has been inserted)
If the <repeatEvery> expression is specified with either the <for> or the <until> expression, the first alarm is not fired until the time specified in the <for> or <until> expression expires; thereafter it is fired repeatedly at the interval specified by the <repeatEvery> expression. *** The duration for the <repeatEvery> is calculated when the parent scope (the scope which directly encloses the event handler) starts. *** If the specified duration value for <repeatEvery> is zero or negative then the standard fault bpel:invalidExpressionValue MUST be thrown.

Links: Announcement, 6 Nov 2006     Proposed resolution (Mark Ford, 10 Nov 2006)
Changes: 6 Nov 2006 - new issue;    7 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links, Submitter's proposal;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec

Issue R31: Clarification for Section 10.4 Given R18 Resolution

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 7 Nov 2006
Date submitted: 7 Nov 2006
Submitter: Monica J. Martin
Description: When R18 was resolved another section was impacted but not addressed by those approved changes. See current text in Section 10.4:

(existing 10.4)

WS-BPEL treats faults based on abstract WSDL 1.1 operation definitions, without reference to binding details. This limits the ability of a WS-BPEL process to determine the information transmitted when faults are returned over a SOAP binding.

Reference: resolution of issue R18 (now correctly formatted in the issue list)
Submitter's proposal: Take an abbreviated approach for Section 10.4 and reference 10.3.

Change from:

WS-BPEL treats faults based on abstract WSDL 1.1 operation definitions, without reference to binding details. This limits the ability of a WS-BPEL process to determine the information transmitted when faults are returned over a SOAP binding.
Change to:
WS-BPEL treats faults based on abstract WSDL 1.1 operation definitions. This limits the ability of a WS-BPEL process to determine the information transmitted when faults are returned, such as for a SOAP binding (See Section 10.3, Invoking Web Services Operations - Invoke for fault treatment).

Resolution: Submitter's proposal agreed, f-t-f 14 Nov 2006

As submitter's proposal
Links: Announcement, 7 Nov 2006
Changes: 7 Nov 2006 - new issue;    8 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec


Issue R32: Correction needed in Template Process Example in Section 15.2

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Note: resolution expects c) to be treated separately later
Date added: 8 Nov 2006
Date submitted: 8 Nov 2006
Submitter: Alex Yiu
Description:

After reviewing the example in section 15.2, I think there are some changes needed:

  1. Syntax correction from:
    <condition>"##opaque"</condition>
    
    to:
    <condition opaque="yes" />
    

  2. Rectified opaque from spec usage: (because of another bug fix in other part of the spec)
    <from opaque="yes" />
    
    to
    <opaqueFrom />
    

  3. Simplify partnerLink usage: Potentially, we can simplify partnerLink usage (not a bug). The number of partnerLink used in this example is a bit too many. It makes the example harder to understand. I would suggest to combine some of them.

Resolution: Agreed, f-t-f 14 Nov 2006

As submitter's proposal for a and b (Multiple instances of b in section 15.2)

c will be treated separately later.
Links: Announcement, 8 Nov 2006
Changes: 8 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Note, Resolution, Change status, In spec


Issue R33: Optional XML Data in Assignments

Status: resolved
Change status: substantive
In spec: 15 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Dieter König
Description: When XML data is defined as optional (minOccurs="0") then you may run into a selectionFailure when accessing an absent element in a from-spec. OTOH, it is a likely business scenario to have business objects with several optional subelements. If multiple of these optional subelements must be copied individually (the key here is that you actually access the subelements) you end up with an exponentially growing number of selectionFailure fault handling combinations for something that is perfectly valid (i.e. you'd have to model all these).

Another approach to address this situation is the following:

   <if>
      <condition> count($variable/optionalelement) = 1 </condition>
      <assign>
         <copy>
            <from> $variable/optionalelement </from>
            <to> ... </to>
         </copy>
      </assign>
   </if>

The downside of this is that you get a flood of activities AND that you would *not* be able to do multiple <copy>'s in an atomic way anymore (since there'd always be a check for == 1 needed).
Submitter's proposal: Introduce a new attribute suppressFromSelectionFailure="yes|no" on <copy> (the default is "no"). If set to "yes" then the <copy> would be a *no-op* instead of throwing selectionFailure when the from-spec returns zero nodes. Note that the selectionFailure would still be thrown when you try to access an nonexistent element in the *to*-spec.

Optionally - to be discussed as well - apply the following variations:

  1. add the new attribute also to higher-level elements (<assign>, <scope>, <process>) in order to let multiple <copy> elements inherit its value.
  2. add the new attribute to <from> instead of <copy> and let it also apply also variable initializations.

Resolution: Proposed and agreed, f-t-f 15 Nov 2006

in 5.2 - add attribute to syntax
in 8.4 - add to syntax
in 8.4 - add para on ignoreMissingFromData attribute

The optional ignoreMissingFromData attribute of the <copy> construct is used to specify whether a bpel:selectionFailure standard fault is suppressed as specified in section 8.4.1. Selection Result of Copy Operations. The default value of the ignoreMissingFromData is "no".
in 8.4.1 - revise paragraph
The <copy> operation is a one-to-one replacement operation. If the optional ignoreMissingFromData attribute has the value of "yes" and the from-spec returns zero XML information items then the <copy> MUST be a "no-op"; no bpel:selectionFailure is thrown. In this case, the to-spec MUST not be evaluated. A bpel:selectionFailure MUST still be thrown in the following cases, even if the ignoreMissingFromData attribute has the value of "yes":
  1. the from-spec selects multiple XML information items
  2. the from-spec selects one XML information item and the to-spec does not select exactly one XML information item

If the ignoreMissingFromData attribute has the value of "no" this requires that both the from-spec and to-spec MUST select exactly one of the three information items described above. If the from-spec or to-spec do not select exactly one information item during execution, then the standard fault bpel:selectionFailure MUST be thrown. The following table illustrates the behavior of the ignoreMissingFromData attribute in the <copy> operation:
Appendix e - schema for executable and abstract
Links: Announcement, 9 Nov 2006     Danny van der Rijn, 10 Nov 2006     Simon D Moser, 15 Nov 2006
Changes: 9 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links;    16 Nov 2006 - fields: In spec, Change status, Status, Resolution, Links

Issue R34: Fix up some minor typos

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Thomas Schulze
Description: There are some minor typos which need to be fixed up:
Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 9 Nov 2006
Changes: 9 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec

Issue R35: Wrong description of element import

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Thomas Schulze
Description: On page 32, section 5.4, lines 14 - 17, it says:

"The <import> element is used within a WS-BPEL process to declare a dependency on external XML Schema or WSDL definitions. Any number of <import> elements may appear as children of the <process> element, before any other child element. Each <import> element contains one mandatory and two optional attributes."

The wrong description here is the part ", before any other child element", because child elements <documentation> and <extensions> might occur before <import>.
Submitter's proposal: Remove ", before any other child element".
Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 9 Nov 2006
Changes: 9 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec


Issue R36: Wrong description of attribute queryLanguage

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Thomas Schulze
Description: On page 23, section 5.2, lines 8-11 (first bullet), it says:
"queryLanguage. This attribute specifies the query language used in the process for selection of nodes in assignment, property definition, etc. The default value for this attribute is: " urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0", which represents the usage of [XPath 1.0] within WS-BPEL 2.0."
The wrong description here is the part ", property definition, etc". Since issue 305, attribute queryLanguage of element <process> is no longer applicable for a propertyAlias, so property definitions should not be mentioned here, IMHO. So, except for assignments this attribute does not influence any other constructs, means "etc." is not needed, too.
Submitter's proposal: Remove ", property definition, etc".
Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 9 Nov 2006     Alex Yiu, 9 Nov 2006     Thomas Schulze, 10 Nov 2006     Alex Yiu, 10 Nov 2006
Changes: 9 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    10 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec

Issue R37: Wrong namespace for ServiceRefType in example

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Thomas Schulze
Description: On page 184, section 15.4.1, line 37 and on page 185, section 15.4.1, line 2 and line 16, the referenced type "ServiceRefType" is prefixed with "bpel:" which is bound to namespace " http://docs.oasis-open.org/wsbpel/2.0/process/executable" in this example. But the type "ServiceRefType" is defined in the namespace " http://docs.oasis-open.org/wsbpel/2.0/serviceref".
Submitter's proposal: Introduce for this example a new prefix "sref" and bind it to namespace "http://docs.oasis-open.org/wsbpel/2.0/serviceref". Use this new prefix for all three occurrences of the referenced type "ServiceRefType".
Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 9 Nov 2006     Alex Yiu, 9 Nov 2006
Changes: 9 Nov 2006 - new issue;    9 Nov 2006 - fields: Links;    10 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec

Issue R38: Wrong examples in 8.4

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 9 Nov 2006
Date submitted: 08 November 2006
Submitter: Thomas Schulze
Description: The following two examples copied from section 8.4 are wrong. They show an <expression> element, but within <from> this element is not allowed.

Example 1 on page 66 (word doc v01.182) - erroneous <expression> tag shown in bold :

<variables>
   <variable name="A" element="foo:AElement" />
   <variable name="B" element="bar:BElement" />
</variables>
...
<sequence>
   <invoke ... inputVariable="..." outputVariable="A" />
   <assign>
      <from>
         <expression>
            bpel:doXslTransform("urn:stylesheets:A2B.xsl", $A)
         </expression>
      </from>
      <to variable="B" />
   </assign>
   <invoke ... inputVariable="B" ... />
</sequence>

Example 2 on page 66/67 (word doc v1.182) - erroneous <expression> tag shown in bold:

<variables>
   <variable name="PO" element="foo:POElement" />
   <variable name="OutVar" element="foo:ItemElement" /> </variables>

<!-- ... PO is initialized ... -->

<!-- Iteratively add more items to PO until complete --> <while> <condition>...</condition> <sequence> <!-- Fetch next chunk into OutVar --> <invoke ... inputVariable="..." outputVariable="OutVar" /> <assign> <copy> <from> <expression> bpel:doXslTransform( "urn:stylesheets:AddToPO.xsl", $PO, "NewItem", $OutVar) </expression> </from> <to variable="PO" /> </copy> </assign> </sequence> </while>


Submitter's proposal: Remove the <expression> and </expression> tags, the given XPath expressions need to go directly into the <from> elements.

Change Example 1 to:

<variables>
   <variable name="A" element="foo:AElement" />
   <variable name="B" element="bar:BElement" />
</variables>
...
<sequence>
   <invoke ... inputVariable="..." outputVariable="A" />
   <assign>
      <from>
         bpel:doXslTransform("urn:stylesheets:A2B.xsl", $A)
      </from>
      <to variable="B" />
   </assign>
   <invoke ... inputVariable="B" ... />
</sequence>

Change Example 2 to:

<variables>
   <variable name="PO" element="foo:POElement" />
   <variable name="OutVar" element="foo:ItemElement" /> </variables>

<!-- ... PO is initialized ... -->

<!-- Iteratively add more items to PO until complete --> <while> <condition>...</condition> <sequence> <!-- Fetch next chunk into OutVar --> <invoke ... inputVariable="..." outputVariable="OutVar" /> <assign> <copy> <from> bpel:doXslTransform( "urn:stylesheets:AddToPO.xsl", $PO, "NewItem", $OutVar) </from> <to variable="PO" /> </copy> </assign> </sequence> </while>


Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 9 Nov 2006
Changes: 9 Nov 2006 - new issue;    10 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec

Issue R39: Make <completionCondition> element extensible

Status: resolved
Change status: substantive
In spec: 14 Nov 2006
Date added: 10 Nov 2006
Date submitted: 9 Nov 2006
Submitter: Trickovic, Ivana
Description: Completion condition of the <forEach> element can be only an (unsigned) integer expression. Different implementations of WS-BPEL may allow using arbitrary boolean conditions operating upon messages and process variables, for example. However, the syntax of the <completionCondition> element does not allow to include these vendor specific extensions.
Submitter's proposal: Make element <branches> optional and element <completionCondition> extensible. The following changes to the syntax should be made:
<completionCondition>?
    <branches expressionLanguage="anyURI"?
        successfulBranchesOnly="yes|no"?>?
        unsigned-integer-expression
    </branches>
    condition-element-of-other-namespace
</completionCondition>
instead of
<completionCondition>?
    <branches expressionLanguage="anyURI"?
        successfulBranchesOnly="yes|no"?>
        unsigned-integer-expression
    </branches>
</completionCondition>
No change is required in the XML Schema since it already defines the <completionCondition> element as extensible and the <branches> element is optional (minOccurs="0").
Resolution: Proposed and agreed, f-t-f, 14 Nov 2006

When a <completionCondition> does not have any sub-elements or attributes understood by the WS-BPEL processor, it MUST be treated as if the <completionCondition> does not exist.

Also, Add (minOccurs="0") to the <branches> element in appendix D and make syntax change from submitters proposal (add ? to pseudo schema for completionCondition in 2 places (5.2 and 11.7) also make change to xsd
Links: Announcement, 10 Nov 2006
Changes: 10 Nov 2006 - new issue;    10 Nov 2006 - fields: Links;    15 Nov 2006 - fields: In spec, Status, Change status, Resolution


Issue R40: From/To Extensibility

Status: resolved
Change status: substantive
In spec: 14 Nov 2006
Date added: 10 Nov 2006
Date submitted: 9 Nov 2006
Submitter: Dieter Koenig1
Description: Almost every WS-BPEL language element is extensible. The current specification defines a number of <from> and <to> element variants for the <copy> operation. The specification text in section 8.4. ("... MUST be one of the following variants: ...") excludes the extensibility of <from> and <to>. This is an unnecessary restriction. It forces every new variant of <copy> to be enclosed in an <extensibleAssignOperation> containing a new <copy> element which repeats the existing copy semantics in order to add different from-specs and to-specs.
Submitter's proposal: Make <from> and <to> elements extensible. That is, allow extension attributes and elements defined in other namespaces to appear within the <from> element and <to> element. The least invasive approach for the specification would be adding a new variant to the from-spec and to-spec. Note that the XML schema does not need to be changed as it already allows these extensions.

In 8.4., add a 6th variant to <from>:

   <from from-attribute-of-another-namespace*>
   from-element-of-another-namespace*</from>

and add a 5th variant to <to>:

   <to to-attribute-of-another-namespace*>to-element-of-another-namespace*
   </to>

Resolution: Agreed, f-t-f 14 Nov 2006

part 1:
Adding the <from/> and <to/> to the lists

part 2:
Add a paragraph after the literal value paragraphs (Before para starting In addition to ... )

Empty variant: The sixth from-spec variant and fifth to-spec variant are included to explicitly show that from-spec and to-spec are extensible. Note that if these variants are not extended, or the extensions are not understood, they MUST behave as if they were an expression variant returning zero nodes.

Links: Announcement, 10 Nov 2006     Alex Yiu, 10 Nov 2006
Changes: 10 Nov 2006 - new issue;    10 Nov 2006 - fields: Links;    13 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Status, In spec, Resolution, Change status

Issue R41: IPR statements - feedback from Hitachi Ltd.

Status: resolved
Change status: no change
In spec: No change
Note: This issue has been kept distinct from the related issue R28 as the original public comments raised different questions.
Date added: 13 Nov 2006
Origin: Public comment - matsuki.yoshino.pw@hitachi.com, 10 Nov 2006 (public comment list)
Date submitted: 10 Nov 2006
Description: We thank you for the development of the BPEL 2.0 spec. We would appreciate if the following questions regarding to BPEL TC IPR statements page are clarified.
  1. The page lists multiple disclosures, but there are not explicit descriptions whether newer disclosure supercedes the older ones. What is the current status?
  2. Is the Siebel's disclosure unchanged after Oracle acquisition?

Matsuki Yoshino

Software Division, Hitachi Ltd.
Resolution: Proposed and agreed, f-t-f, 14 Nov 2006

As stated in Diane Jordan, 15 Nov 2006:

The public review process is intended for comments on the technical content of the specification. The process for IPR disclosures is different. According to OASIS process, when BPEL 2.0 started public review, a separate call for disclosure (see Mary McRae, 10 Sep 2006) was sent to TC members. If and when any updates are received they will be posted to the IPR page for the TC: http://www.oasis-open.org/committees/wsbpel/ipr.php. That is the source for any further information on this topic.
Links: see also issue R28     Martin Chapman, 13 Nov 2006 (public comment list)     Announcement, 14 Nov 2006     Diane Jordan, 15 Nov 2006
Changes: 13 Nov 2006 - new issue;    14 Nov 2006 - fields: Links;    15 Nov 2006 - fields: Links, Status, In spec, Resolution


Issue R42: replace HTML entity in sample with XML equivalent

Status: resolved
Change status: editorial
In spec: 14 Nov 2006
Date added: 15 Nov 2006
Date submitted: 1 Nov 2006
Submitter: Mark Ford
Description:

The transition condition for the loan approval service contains an HTML entity for greater than or equal to.

               <transitionCondition>
                  $request.amount
                  &ge;
                  10000
               </transitionCondition>

&ge; is an HTML entity and not one of the predefined entities from XML 1.0 (Section 4.6: http://www.w3.org/TR/REC-xml/#sec-predefined-ent)
Submitter's proposal:

Change "&ge;" to "&gt;="
Resolution: proposed and agreed, f-t-f 14 Nov 2006 As submitter's proposal
Links: Announcement, 15 Nov 2006     Alex Yiu, 15 Nov 2006
Changes: 15 Nov 2006 - new issue;    15 Nov 2006 - fields: Status, Resolution, Change status, In spec, Links


Issue R43: Simplify partnerLink usage

Status: resolved
Change status: substantive
In spec: 16 Nov 2006
Date added: 16 Nov 2006
Date submitted: 16 Nov 2006
Submitter: Charlton Barreto
Description: This issue was split from - issue R32 in the resolution of that issue. Some of the message proposing it referred to issue R29.

(from issue 32, part C Simplify partnerLink usage: Potentially, we can simplify partnerLink usage (not a bug). The number of partnerLink used in this example is a bit too many. It makes the example harder to understand. I would suggest to combine some of them.


Submitter's proposal: It is proposed that the use of partnerLinks be simplified in Section 15.2, the Template Profile example, by combining the multiple partnerLinks in the example: orderingResponse into ordering, shippingResponse into shipping, and invoiceResponse into invoice, using multiple portTypes and roles to represent the request/response relationships. Also, the use of initializePartnerRole has been updated.
Resolution: Proposed, amended and agreed, f-t-f, 16 Nov 2006

As submitter's proposal, amended:

Thhe use of partnerLinks is simplified in Section 15.2, the Template Profile example, by combining the multiple partnerLinks in the example: orderingResponse into ordering, shippingResponse into shipping, and invoiceResponse into invoice, using multiple portTypes and roles to represent the request/response relationships. The use of initializePartnerRole has been updated, and shippingServiceResponse is now used as a non-opaque role for the shipper partnerLink.

(this resolution was immediately editted into the text which was then approved as the new committee draft for second public review)
Links: issue R32 : Correction needed in Template Process Example in Section 15.2     Charlton Barreto, 16 Nov 2006     Announcement, 16 Nov 2006     Charlton Barreto, 16 Nov 2006     Charlton Barreto, 16 Nov 2006
Changes: 16 Nov 2006 - new issue;    16 Nov 2006 - fields: Status, Links, In spec;    17 Nov 2006 - fields: Links;    21 Nov 2006 - fields: Change status, In spec, Resolution, Links


This file last updated 9:27 21 Nov 2006 (UTC)