You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by Filip Majernik <fi...@gmail.com> on 2009/11/18 21:49:00 UTC
How to insert a new child into a sequence element in the message?
Hi guys,
I have following scenario using ODE 1.3.2: The process receives a message
with more elements <refund> in a sequence. Then it processes them in a
foreach acitvity and should insert them into a request message for another
service.
The process fails with a selection failure at this activity, which is a part
of an assign activity in the foreach loop (if I comment it out, it works,
however with no refund elements in the request):
<bpel:copy>
<bpel:from>
<![CDATA[ode:insert-as-last-into($refunds, $refundTmp)]]>
</bpel:from>
<bpel:to>
<![CDATA[$refunds]]>
</bpel:to>
</bpel:copy>
The variable $refundTmp is properly filled with data and $refunds is also
properly initialized before the foreach loop starts.
Can you please help me? Am I doing something wrong, or is there any issue
about the insert-as-last-into extension??? I really need this to be done as
soon as possible :)
Thank you in advance.
Filip
Re: How to insert a new child into a sequence element in the message?
Posted by Filip Majernik <fi...@gmail.com>.
Hi,
thanks for the quick answer. A minute ago I have just got it work. The
problem was with the identificator of the new child. This ways it works:
<bpel:copy>
<bpel:from>
<![CDATA[ode:insert-as-last-into($refunds,
$refundTmp/self::node())]]>
</bpel:from>
<bpel:to>
<![CDATA[$refunds]]>
</bpel:to>
</bpel:copy>
However, I got another problem now. When I insert the newly constructed
$refunds into the message, there is a new element wrapping the new inserted
children:
<xsd-complex-type-wrapper xmlns="">
Moreover, it has replaced the actual parent element of the new child, which
should be:
<xsd1:refundRequest>
Any ideas?
On Wed, Nov 18, 2009 at 10:00 PM, Rafal Rusin <ra...@gmail.com> wrote:
> Possibly you need to have a variable $refunds consisting of one
> element with multiple elements inside.
> Check out working example from here:
>
> http://svn.apache.org/repos/asf/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestSubTreeAssign/TestSubTreeAssign.bpel
>
> There is something like:
> <copy>
>
> <from>ode:insert-as-last-into($testType1/typeIndicators,
> $testType2/typeIndicators/types:indicatorTwo)</from>
> <to>$testType1/typeIndicators</to>
> </copy>
>
>
> 2009/11/18 Filip Majernik <fi...@gmail.com>:
> > Hi guys,
> > I have following scenario using ODE 1.3.2: The process receives a message
> > with more elements <refund> in a sequence. Then it processes them in a
> > foreach acitvity and should insert them into a request message for
> another
> > service.
> >
> > The process fails with a selection failure at this activity, which is a
> part
> > of an assign activity in the foreach loop (if I comment it out, it works,
> > however with no refund elements in the request):
> >
> > <bpel:copy>
> > <bpel:from>
> > <![CDATA[ode:insert-as-last-into($refunds, $refundTmp)]]>
> > </bpel:from>
> > <bpel:to>
> > <![CDATA[$refunds]]>
> > </bpel:to>
> > </bpel:copy>
> >
> > The variable $refundTmp is properly filled with data and $refunds is also
> > properly initialized before the foreach loop starts.
> > Can you please help me? Am I doing something wrong, or is there any issue
> > about the insert-as-last-into extension??? I really need this to be done
> as
> > soon as possible :)
> >
> > Thank you in advance.
> > Filip
> >
>
>
> Regards,
> --
> Rafał Rusin
> http://rrusin.blogspot.com
> http://www.touk.pl
> http://top.touk.pl
>
Re: How to insert a new child into a sequence element in the message?
Posted by Rafal Rusin <ra...@gmail.com>.
Possibly you need to have a variable $refunds consisting of one
element with multiple elements inside.
Check out working example from here:
http://svn.apache.org/repos/asf/ode/trunk/bpel-test/src/test/resources/bpel/2.0/TestSubTreeAssign/TestSubTreeAssign.bpel
There is something like:
<copy>
<from>ode:insert-as-last-into($testType1/typeIndicators,
$testType2/typeIndicators/types:indicatorTwo)</from>
<to>$testType1/typeIndicators</to>
</copy>
2009/11/18 Filip Majernik <fi...@gmail.com>:
> Hi guys,
> I have following scenario using ODE 1.3.2: The process receives a message
> with more elements <refund> in a sequence. Then it processes them in a
> foreach acitvity and should insert them into a request message for another
> service.
>
> The process fails with a selection failure at this activity, which is a part
> of an assign activity in the foreach loop (if I comment it out, it works,
> however with no refund elements in the request):
>
> <bpel:copy>
> <bpel:from>
> <![CDATA[ode:insert-as-last-into($refunds, $refundTmp)]]>
> </bpel:from>
> <bpel:to>
> <![CDATA[$refunds]]>
> </bpel:to>
> </bpel:copy>
>
> The variable $refundTmp is properly filled with data and $refunds is also
> properly initialized before the foreach loop starts.
> Can you please help me? Am I doing something wrong, or is there any issue
> about the insert-as-last-into extension??? I really need this to be done as
> soon as possible :)
>
> Thank you in advance.
> Filip
>
Regards,
--
Rafał Rusin
http://rrusin.blogspot.com
http://www.touk.pl
http://top.touk.pl