Hi, Following Tammo's advice I'm trying to use onEvent for implementing parallel flow. I've created a minimalistic process to demonstrate how I do it, but it doesn't seem to work - correlation isn't found.
Just to reiterate how I'm forming correlation: The correlation is based on process id which I initialise with ode:pid. It is initialised correctly as I can tell from logs and event log. The first invoke operation initiates correlation (pattern=request) - the way I understand it, it assigns the process id in the correlation set to the value of the request message property alias. Next, in an onEvent scope, I receive a message with the same correlation set (initiate=no). I expect that if the input for the onEvent has the same pid as the one I initialised the correlation set with in the invoke - the scope under the onEvent will be entered. However this does not happen and i'm not sure if its because of my misunderstanding or a problem with ODE implementation. Here are the bpel and wsdls: http://old.nabble.com/file/p27108428/OnEventProcess.bpel OnEventProcess.bpel http://old.nabble.com/file/p27108428/OnEvent.wsdl OnEvent.wsdl http://old.nabble.com/file/p27108428/RendererService.wsdl RendererService.wsdl http://old.nabble.com/file/p27108428/RendererService.xsd_1.xsd RendererService.xsd_1.xsd http://old.nabble.com/file/p27108428/deploy.xml deploy.xml When I'm trying to trigger the onEvent I see in the log the following: DEBUG - GeronimoLog.debug(66) | The system is checking for the operation using the following WSAAction: DEBUG - GeronimoLog.debug(66) | Checking for Operation using SOAP message body's first child's local name : SendEventOperation DEBUG - GeronimoLog.debug(66) | Found operation org.apache.axis2.description.inonlyaxisoperat...@3801f8 DEBUG - GeronimoLog.debug(66) | Received one-way message for SendEventService.{http://j2ee.netbeans.org/wsdl/OnEvent}SendEventOperation DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: name=SendEventOperation style=ONE_WAY,0 Input: name=input1 Message: name={http://j2ee.netbeans.org/wsdl/OnEvent}SendEventRequest Part: name=pid typeName={http://www.w3.org/2001/XMLSchema}string from service {http://j2ee.netbeans.org/wsdl/OnEvent}SendEventService DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX {MyRoleMex#hqejbhcnphr4wflgrlofs8 [Client null] calling {http://j2ee.netbeans.org/wsdl/OnEvent}SendEventService.SendEventOperation(...)} DEBUG - GeronimoLog.debug(66) | Message content: <?xml version="1.0" encoding="UTF-8"?> <message><pid xmlns:onev="http://j2ee.netbeans.org/wsdl/OnEvent" xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">5757</pid></message> DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> ODEProcess[{http://enterprise.netbeans.org/bpel/OnEventTest2/OnEventProcess}OnEventProcess-10] DEBUG - GeronimoLog.debug(66) | INPUTMSG: 37.SendEventOperation: MSG RCVD keys=[{CorrelationKey setId=34, values=[5757]}] mySessionId=null partnerSessionId=null DEBUG - GeronimoLog.debug(66) | INPUTMSG: 37.SendEventOperation: SAVING to DB (no match) DEBUG - GeronimoLog.debug(66) | schedulingRunnable for process {http://enterprise.netbeans.org/bpel/OnEventTest2/OnEventProcess}OnEventProcess-10: org.apache.ode.bpel.engine.unreliablemyrolemessageexchangeimp...@ac2d55 DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4wflgrlofs8 In this case 5757 is definitely the pid of the running process as I can see in the logs and in events sent by ODE, so not sure why it's not being correlated to the right process. Thanks, Dawg -- View this message in context: http://old.nabble.com/Correlation-not-working-on-ODE2--%28or-am-I-using-it-incorrectly...%29-tp27108428p27108428.html Sent from the Apache Ode User mailing list archive at Nabble.com.
