[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: Issue - 227 - The messageExchange attribute doesn't handle parallel forEach
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.
<process ...> ... <partnerLinks> <partnerLink name="workSystem" partnerRole="workHandler" myRole="workRequester"/> ... </partnerLinks> ... <forEach parallel="yes"> <startCounterValue>...</startCounterValue> <finalCounterValue/>...</finalCounterValue> <scope> <correlationSets> <correlationSet name="CS" properties="..."/> </correlationSets> <sequence> <assign>...</assign> <invoke partnerLink="workSystem" operation="createWork"...> <correlations> <correlation initiate="yes" pattern="out" set="CS"/> </correlations> </invoke> <receive partnerLink="workSystem" operation="workResult"...> <correlations> <correlation initiate="no" set="CS"/> </correlations> </receive> <assign>...</assign> <reply partnerLink="workSystem" operation="workResult".../> </sequence> </forEach> ... </process>
According to the current specification the moment the second receive is scheduled the process must throw a "conflictingRequest" fault as it is a request-response MEP and has the same partnerLink, operation and messageExchange as the first receive. However there is no way to create a messageExchange which would avoid it conflicting. The issue can be solved by introducing a locally defined partnerLink, but the messageExchange attribute was introduced so users would not need to do that when the partner is truly the same entity (in this case the workSystem partnerLink is the same entity for all iterations).
I suggest we revisit the proposal for a messageExchange to be scoped to allow users to create non-conflicting receives in this parallel forEach use case.
Changes: 24 Aug 2005 - new issue
To comment on this issue (including whether it should be accepted), please follow-up to this announcement on the email@example.com list (replying to this message should automatically send your message to that list), or ensure the subject line as you send it starts "Issue - 227 - [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 - 227 - Proposed resolution", without any Re: or similar.
To add a new issue, see the issues procedures document (but the address for new issue submission is the sender of this announcement).
Choreology Anti virus scan completed