[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]
Subject: RE: [wsbpel] Issue - 270 - Copying a message variable with uninitialized parts
I think we should allow the copying of a whole message variable with uninitialized parts. We disallow using partially initialized variables in an <invoke> or <reply> since those activities make use of all of the parts of a variable so a missing part would be considered an error condition. One use case that came up when discussing this internally was the ability to save the state of a partially initialized message variable by copying it to another variable. If you knew which parts were uninitialized then you'd be able to copy the parts individually, but if you didn't know or if you wanted to overwrite the values at the target variable with uninitialized parts then you would have no way of doing this. I think support for copying partially initialized variables could be accomplished by adding a line to Section 8.4.2: ---- from ---- Replacement Logic for WSDL Message Variables When the from-spec and to-spec of a <copy> operation both select WSDL message variables, the value of the from-spec message variable MUST be copied, becoming the value of the to-spec message variable. The original message parts of the to-spec message variable will not be available after the <copy> operation. ---- to ---- Replacement Logic for WSDL Message Variables When the from-spec and to-spec of a <copy> operation both select WSDL message variables, the value of the from-spec message variable MUST be copied, becoming the value of the to-spec message variable. If the from-spec message variable was partially initialized, then those uninitialized parts will be copied to the to-spec message variable making those parts uninitialized as well. The original message parts of the to-spec message variable will not be available after the <copy> operation. ---- end ---- Lastly, I think we should also disallow the use of a partially initialized message variable with a <throw>. This seems consistent with the resolution of Issue 258 which disallowed the use of such a variable with <invoke> or <reply>. The change there would be to add the <throw> to the end of Section 8.1 where the resolution text for Issue 258 was added. ---- from ---- An attempt during process execution to read a variable or, in the case of a message type variable, a part of a variable before it is initialized MUST result in the standard bpel:uninitializedVariable fault. This includes the <invoke> and <reply> activity, where the presence of an uninitialized part also results in the standard fault bpel:uninitializedVariable. ---- to ---- An attempt during process execution to read a variable or, in the case of
a message type variable, a part of a variable before it is initialized MUST
result in the standard bpel:uninitializedVariable fault. This
includes the <invoke>,
<reply>, and <throw> activities,
where the presence of an uninitialized part also results in the standard fault
bpel:uninitializedVariable. ---- end ----
I'd like to get some feedback on this before submitting formal proposal. Thanks. From: Alex Yiu [mailto:alex.yiu@oracle.com] Sent: Wednesday, April 26, 2006 7:27 PM To: wsbpel@lists.oasis-open.org Cc: Alex Yiu; Mark Ford Subject: Re: [wsbpel] Issue - 270 - Copying a message variable with uninitialized parts Hi Mark, I agree that we need to clarify how to handle uninitialized parts in section 8.4.2. My current inlination is to allow copy from a WSDL message variable without triggering bpel:uninitializedVariable fault. On the other hand, there is an open question: should we trigger bpel:uninitializedVariable fault if all parts of a message variable are uninitialized? My current inclination is: we should trigger that fault to make symmetric, when compared with other kinds of variables. If these are what consensus of the TC, then may be Mark and I can work together to draft a formal spec text changes. Thanks! Regards, Alex Yiu ws-bpel issues list editor wrote:
|
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]