Hi Sathwik,
Thank you for taking time to suggest these ideas.
I was thinking on the same line but did not implement because I was not
sure about calling <receive /> in a loop.
Since <receive /> is a blocking activity, I thought the loop will stop
during the first iteration when it executes the first <receive /> activity
and will not not complete.
I have few queries.
1) Iterative forEach parallel='yes'
In my case I would like to collate the result of all sub-processes in the
main process. So in the first approach (forEach) do you think I can add a
<receive /> after <invoke /> as shown below
<bpel:forEach parallel='yes' ...>
initialize the counter here
<scope>
<partnerlink .. /> access the EPR array using the index
counter and assign it to the partnerlink.
<invoke .../>
<receive .../> to receive the response from above invoke
</scope>
</bpel:forEach>
2) While loop with async communication and explicit correlation
In case of while loop, the execution is sequential. This is ok for <invoke
/> activities. But may not work for <receive /> activities because there is
no guarantee that the responses will be received in the same order of
invoke.
Or putting <receive /> in <while> will create an implicit <flow> like
<forEach> loop?
Thank you once again.
JK