I believe <reply> can only be used if it has a preceding <receive> with
the same {partnerLink, operation, messageExchange} tuple, regardless of
whether it uses an opaque or explicit correlation set.
Section 10.4.1. Message Exchanges of the BPEL 2.0 (Public Review Draft,
23th August, 2006) discusses this subject.
alex
Lance Waterman wrote:
I would like to know if the following is valid ...
<bpel:sequence>
<bpel:receive name="receive1" createInstance="yes"
operation="operation1" partnerLink="testCorrelationOpaquePL1"
portType="wns:testCorrelationOpaquePT" variable="input1"/>
<bpel:receive name="receive2" createInstance="no"
operation="operation2"
partnerLink="testCorrelationOpaquePL1"
portType="wns:testCorrelationOpaquePT" variable="input2"/>
<bpel:reply name="reply" operation="operation2"
partnerLink="testCorrelationOpaquePL2"
portType="wns:testCorrelationOpaquePT" variable="output"/>
</bpel:sequence>
I am anticipating that the second receive will route based on the
partnerLink but that does not appear to be happening. I don't see
anything
in the spec that seems to exclude this, however I could be missing a
subtlety somewhere. Looking at the ODE implementation it appears that the
second receive must have a correlation set to route the message.
Thanks,
Lance