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

Reply via email to