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: Re: [wsbpel] Issue - 123 - Matching <reply> with <receive>



Hi, all,

Here is the draft proposal for Issue 123. It is based on Yaron's text sent out few days ago.
It contains a terminology change: (i) from "usage" to "messageExchange" (as some people agree with the general idea of this proposal but don't like the terminology) and (ii) from "triple" to "tuple" (that is my personal preference).

Bernd and Yuzo had some further input and clarification requests, which I have incorporated. They are marked with underline here.

-----------------------------------------------------
A reply activity is associated with a receive activity based on the tuple - partnerLink, operation, and messageExchange. The value defined in messageExchange is scoped to the combination of partnerLink and operation. That is, it is legal to use the same messageExchange value in multiple simultaneously incomplete receive activities so long as the combination of partnerLink and operation on the receives are all different from each other. An incomplete receive describes the state of a BPEL process from the point that a request/response receive activity starts execution until its associated reply begins execution.

If there should ever be multiple simultaneous incomplete receive activities which have the same partnerLink, operation and messageExchange tuple then the bpws:conflictingReceive fault MUST be thrown within the BPEL process on all the conflicting receive activities.

If a reply activity cannot be associated with an incomplete receive activity by matching the tuples and this error situation is not caught during static analysis,  then bpws:missingRequest fault MUST be thrown within the BPEL process on the reply activity. Because conflicting requests should have been rejected at the time <receive> is executed, there cannot be more than one corresponding <receive> at the time <reply> is executed.

If the messageExchange attribute is not specified on a receive then its value is taken to be empty. For matching purposes two empty messageExchange values on receives with the same partnerLink and operation values are said to match. Empty value does not match with other non-empty values.

(Please note: there are existing text paragraphs in the spec, which enforces that no more than one <receive>s are waiting for a message associated with the same partner link, port type, operation, and correlation sets. This constraint still exists and will not be affected by the proposal of Issue 123. This proposal simply add one more constraint to receive, when <reply> are needed to be associated with <receive>.)
-----------------------------------------------------


Thanks!



Regards,
Alex Yiu




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