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
>> 

Reply via email to