Hi,
I'm trying to assign an array to another array in a BPEL process. Following
is the bpel code for that:
<bpel:forEach parallel="no" counterName="Counter" name="ForEach">
<bpel:startCounterValue><![CDATA[1]]></bpel:startCounterValue>
<bpel:finalCounterValue><![CDATA[count($input.payload/tns:arr)
]]></bpel:finalCounterValue>
<bpel:completionCondition></bpel:completionCondition>
<bpel:scope>
<bpel:assign validate="no" name="Assign">
<bpel:copy>
<bpel:from>
<bpel:literal
xml:space="preserve"><tns:ArrayBPELProcessResponse xmlns:tns="
http://www.arraybpel.process" xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance">
<tns:result></tns:result>
</tns:ArrayBPELProcessResponse></bpel:literal>
</bpel:from>
<bpel:to variable="output" part="payload"></bpel:to>
</bpel:copy>
<bpel:copy>
<bpel:from part="payload" variable="input">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:arr[$Counter]]]></bpel:query>
</bpel:from>
<bpel:to part="payload" variable="output">
<bpel:query
queryLanguage="urn:oasis:names:tc:wsbpel:2.0:sublang:xpath1.0"><![CDATA[tns:result[$Counter]]]></bpel:query>
</bpel:to>
</bpel:copy>
</bpel:assign>
</bpel:scope>
</bpel:forEach>
When I try to send multiple elements in the array it gives an error though
it works for an array with a single element.
SOAP message is:
<body>
<p:ArrayBPELProcessRequest xmlns:p="http://www.arraybpel.process">
<!--0 or more occurrences-->
<arr xmlns="http://www.arraybpel.process">value1</arr>
<arr xmlns="http://www.arraybpel.process">value2</arr>
</p:ArrayBPELProcessRequest>
</body>
And the error log is:
[2012-02-28 11:45:12,148] INFO - ASSIGN - Assignment Fault: {
http://docs.oasis-
open.org/wsbpel/2.0/process/executable}selectionFailure,lineNo=73,faultExplanati
on={
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure: M
ultiple results for expression: 'tns:arr[$Counter]' against '<?xml
version="1.0"
encoding="UTF-8"?>
<ArrayBPELProcessRequest xmlns="http://www.arraybpel.process" xmlns:p="
http://ww
w.arraybpel.process" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:w
sa="http://www.w3.org/2005/08/addressing"><arr xmlns="
http://www.arraybpel.proce
ss">value1</arr><arr xmlns="http://www.arraybpel.process
">value2</arr></ArrayBPE
LProcessRequest>'
[2012-02-28 11:45:12,168] WARN - BpelProcess - Instance 270 of {
http://www.arra
ybpel.process}ArrayBPELProcess-9 has completed with fault: FaultData:
[faultName
={http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionFailure,
fau
lType=null ({
http://docs.oasis-open.org/wsbpel/2.0/process/executable}selectionF
ailure: Multiple results for expression: 'tns:arr[$Counter]' against '<?xml
vers
ion="1.0" encoding="UTF-8"?>
<ArrayBPELProcessRequest xmlns="http://www.arraybpel.process" xmlns:p="
http://ww
w.arraybpel.process" xmlns:s="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:w
sa="http://www.w3.org/2005/08/addressing"><arr xmlns="
http://www.arraybpel.proce
ss">value1</arr><arr xmlns="http://www.arraybpel.process
">value2</arr></ArrayBPE
LProcessRequest>')] @73
Could someone please comment what's going wrong in this?
Thanks,
- Chethiya
_______________________________________________
Carbon-dev mailing list
[email protected]
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev