Thanks. I'll give this a try when I get back into the office. -Jon
On 4/3/09 8:07 AM, "Matthieu Riou" <[email protected]> wrote: > On Thu, Apr 2, 2009 at 2:46 PM, Jonathan Coogan < > [email protected]> wrote: > >> Hi. I¹m having a problem when copying data from one variable to another >> within a forEach loop. When I use a query to copy data out of a variable I >> get a selection failure fault at runtime. This works correctly when I copy >> from an expression instead of a query. >> >> I have attached an example that demonstrates the problem. The expected >> output of the attached BPEL process is the string ³five². It works >> correctly when using an expression, but fails when using a query. Here is >> the relevant snippet: >> > > BPEL assignment doesn't provide any context node to the XPath engine, > everything is always relative to a variable. Which means that your query > should be relative and not absolute. > > Matthieu > > >> >> <bpws:forEach counterName="Counter" name="ForEach" parallel="no"> >> <bpws:startCounterValue >> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[ >> 1]]></bpws:startCounterValue> >> <bpws:finalCounterValue >> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[ >> count($Data/ns0:Record)]]></bpws:finalCounterValue> >> <bpws:scope> >> <bpws:assign validate="no"> >> <bpws:copy> >> <!-- >> ---------------------------------------------------------------------------- >> --> >> <!-- This generates a selection failure at runtime. --> >> <bpws:from variable="Data"> >> <bpws:query >> queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[/ns0: >> Record[$Counter]/ns0:SomeValue]]></bpws:query> >> </bpws:from> >> >> <!-- This works. --> >> <!-- <bpws:from >> expressionLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath2.0"><![CDATA[ >> $Data/ns0:Record[$Counter]/ns0:SomeValue]]></bpws:from> >> --> >> <!-- >> ---------------------------------------------------------------------------- >> --> >> >> <bpws:to part="payload" variable="output"/> >> </bpws:copy> >> </bpws:assign> >> </bpws:scope> >> </bpws:forEach> >> >> I have tested this with Ode 1.2 and a recent build of Ode 1.X and both >> behave the same. Can someone tell me if I am doing something wrong? Or >> should I write a bug report for this? >> >> Thanks for your time. >> -Jon >>
