Hello everybody. I have Jdeveloper 11g with SOA installed, so within the BPEL i have a loop While from 1 to 3 (just to try).
So i want to create a Child Node on the fly counting from 1 to 3 nodes. For the input (which is useless) i have:
<xsd:element name="numero" type="xsd:int"/>
For the output i have:
<xsd:element name="repeticion">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="palabra" type="xsd:string" maxOccurs="unbounded"/>
</xsd:sequence>
</xsd:complexType>
</xsd:element>
Inside my bpeel i have a var "loop" which counts from 1 to 3.
<assign name="Assign1">
<copy>
<from expression="0"/>
<to variable="loop"/>
</copy>
</assign>
A while loop and the concat Hello 1 -> Hello 3:
<while name="While1"
condition="bpws:getVariableData('loop')<=3">
<sequence name="Sequence1">
<assign name="Assign2">
<copy>
<from expression="bpws:getVariableData('loop')+1"/>
<to variable="loop"/>
</copy>
</assign>
<assign name="Assign3">
<bpelx:append>
<bpelx:from expression="concat('Hello ',string(bpws:getVariableData('loop')))"/>
<bpelx:to variable="outputVariable" part="payload"
query="/ns1:repeticion/ns1:palabra"/>
</bpelx:append>
</assign>
</sequence>
</while>
But when run it returns <palabra>Hello 1Hello 2Hello 3</palabra> instead of <palabra>Hello 1</palabra><palabra>Hello 2</palabra><palabra>Hello 3</palabra>
Where am i wrong?.
Best regards.