On 10/23/07, Rich Taylor <[EMAIL PROTECTED]> wrote: > > Good to know, thanks. As for inline variable initialization, even if Ode > does support it, it's not clear to me whether or not it is possible to do > what I was trying? I'm not sure how the engine would know which part of a > message to insert the data into. Maybe it assumes the first part which > would be safe in a WS-I Basic Profile situation I suppose. > > As for working on this feature, I have some other Ode issues that are > higher > priority at the moment. This may change however. I will be writing up > issues for them as soon as I get a chance. > > One feature that might be nice in Ode would be auto variable > initialization > at runtime. This is a controversial feature I realize, but might be very > useful and solve a lot of headaches for newcomers to BPEL. It would > basically be an extension or flag on the engine that would automatically > create the target XML in an assign (when it didn't exist), based on the > schema. At least one or two other products do this, as an example see > [1]
I agree it's definitely a useful feature. And not so controversial if you make it optional. Cheers, Matthieu Thanks, Rich > > [1] > > http://www.activebpel.org/infocenter/ActiveBPEL/v40/index.jsp?topic=/com.activee.bpel.doc/html/UG18-7-2.html > > On 10/22/07, Matthieu Riou <[EMAIL PROTECTED]> wrote: > > > > Hi Rich, > > > > Inline variable initialization isn't supported yet in ODE, although we > > should definitely add it in the near future. Would you be interested > > enough > > to help implementing it? Btw I've updated our compliance page, thanks > for > > pointing this out! > > > > Cheers, > > Matthieu > > > > On 10/22/07, Rich Taylor <[EMAIL PROTECTED]> wrote: > > > > > > I'm trying to take advantage of "inline" variable initalization from > the > > > BPEL 2.0 spec, but I must be missing something. > > > > > > My variable is a WSDL Message Type, with a single part, called > > > "parameters". When I use a good old "assign" activity to set a fixed > > > value > > > on the variable things work fine. I'm able to specify which _part_ of > > the > > > message to set the literal value on, as below: > > > > > > <bpws:variable messageType="ns1:GetAccountDetail" > > > name="CICSService_GetAccountDetail_Input"> > > > ... > > > <bpws:copy> > > > <bpws:from> > > > <bpws:literal> > > > <GetAccountDetail> > > > <GetAccountDetailFilters> > > > <AcctNum/> > > > </GetAccountDetailFilters> > > > </GetAccountDetail> > > > </bpws:literal> > > > </bpws:from> > > > <bpws:to part="parameters" > > > variable="CICSService_GetAccountDetail_Input"/> > > > </bpws:copy> > > > > > > > > > However when I try to use inline initialization and assign a fixed > value > > > to > > > the variable upon creation, things don't work at runtime. I get a > > > selectionFailure when trying to write data into the variable's > > structure. > > > > > > Here is the inline version that does not work when I later try to > write > > > data > > > to the variable. > > > > > > <bpws:variable messageType="ns1:GetAccountDetail" > > > name="CICSService_GetAccountDetail_Input"> > > > <bpws:from> > > > <bpws:literal> > > > <GetAccountDetail> > > > <GetAccountDetailFilters> > > > <AcctNum/> > > > </GetAccountDetailFilters> > > > </GetAccountDetail> > > > </bpws:literal> > > > </bpws:from> > > > </bpws:variable> > > > > > > > > > > > > What am I missing here? When using as assign for variable > > initialization > > > I > > > can specify a message part, while using inline, there is no such > > > option. Is > > > that the problem? If so what is the correct approach? Or if someone > > > could > > > point me to an example of inline variable initialization. > > > > > > Thanks!!!! Rich Taylor > > > > > > > > > > > > Reference: > > > > > > WSDL > > > <message name="GetAccountDetail"> > > > <part element="tns:GetAccountDetail" name="parameters"/> > > > </message> > > > > > > Schema > > > <xs:element name="GetAccountDetail" type="tns:GetAccountDetailType"/> > > > <xs:complexType name="GetAccountDetailType"> > > > <xs:sequence> > > > <xs:element name="GetAccountDetailFilters" > > > type="tns:GetAccountDetailFiltersType"/> > > > </xs:sequence> > > > </xs:complexType> > > > > > >
