You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@ode.apache.org by dawg <zo...@gmail.com> on 2010/01/11 11:29:14 UTC

Correlation not working on ODE2? (or am I using it incorrectly...)

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.InOnlyAxisOperation@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.UnreliableMyRoleMessageExchangeImpl$2@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.