I'm using Servicemix ode bpe.
But I have encountered the problem that the "receive" cannot create two
instances when a second message with different correlation ID is sent.
ERROR - BaseLifeCycle$2.run(242) | Error processing exchange
[EMAIL PROTECTED]
org.apache.ode.bpe.correlation.CorrelationServiceException: Error: Only one
receive with the same namespace, port type,
operation and correlation key can be active. The following receive is
already active: namespace:urn:abc:prototype:
trading, port type:tradingPortType, operation:getSellerData, correlation
key:null. The active receive must be fulfilled
before another can be registered.
at
org.apache.ode.bpe.action.bpel.RegisterAction.createRegistration(RegisterAction.java:260)
at
org.apache.ode.bpe.action.bpel.RegisterAction.execute(RegisterAction.java:161)
at
org.apache.ode.bpe.engine.ProcessInstance.executeActions(ProcessInstance.java:359)
at
org.apache.ode.bpe.engine.ProcessInstance.evaluate(ProcessInstance.java:325)
at
org.apache.ode.bpe.engine.ProcessInstance.evaluate(ProcessInstance.java:414)
at
org.apache.ode.bpe.engine.ProcessInstance.processInternalEvent(ProcessInstance.java:254)
at
org.apache.ode.bpe.engine.ProcessInstance.processEvent(ProcessInstance.java:209)
at
org.apache.ode.bpe.correlation.CorrelationService.createInstanceAndRoute(CorrelationService.java:230)
at
org.apache.ode.bpe.correlation.CorrelationService.correlateEvent(CorrelationService.java:337)
at
org.apache.ode.bpe.bped.unmanaged.EventDirectorSLImpl.sendEvent(EventDirectorSLImpl.java:116)
at
org.apache.servicemix.bpe.BPEEndpoint.process(BPEEndpoint.java:128)
at
org.apache.servicemix.common.BaseLifeCycle.processExchange(BaseLifeCycle.java:374)
at
org.apache.servicemix.common.BaseLifeCycle$2.run(BaseLifeCycle.java:240)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:650)
at
edu.emory.mathcs.backport.java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:675)
at java.lang.Thread.run(Thread.java:595)
And the BPEL flow is like this:
<bpel:flow>
<bpel:sequence>
<bpel:receive name="getPurchaserDataImpl" partnerLink="purchaserLT"
portType="tns:tradingPortType" operation="getPurchaserData"
variable="request1"
createInstance="yes">
</bpel:receive>
<bpel:sequence>
<bpel:flow>
<bpel:receive name="getSellerDataImpl" partnerLink="sellerLT"
portType="tns:tradingPortType" operation="getSellerData"
variable="request2"
createInstance="no">
<bpel:correlations>
<bpel:correlation set="tradeID" initiate="yes"/>
</bpel:correlations>
</bpel:receive>
<bpel:receive name="getBankDataImpl" partnerLink="bankLT"
portType="tns:tradingPortType" operation="getBankData"
variable="request3"
createInstance="no">
<bpel:correlations>
<bpel:correlation set="tradeID" initiate="yes"/>
</bpel:correlations>
</bpel:receive>
</bpel:flow>
<!-- some assignments of variables -->
--
View this message in context:
http://www.nabble.com/flow-and-correlation-tf1866019.html#a5145866
Sent from the ServiceMix - User forum at Nabble.com.