As my question is a bit different now, I'm moving it to a new thread to match the different subject. I created the simplest process I could using onEvent with correlation, and unless I'm misusing it, it doesn't work with ode 2.0.
See http://old.nabble.com/Correlation-not-working-on-ODE2--%28or-am-I-using-it-incorrectly...%29-td27108428.html Thanks, Dawg dawg wrote: > > It sounds right. I tried it, but for some reason I'm not getting the scope > associated with the message invoked when I send the message although > correlation is setup - possibly the correlation is not setup correctly. > > This is the message I'm sending: > > <soapenv:Envelope > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" > xmlns:med="http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl"> > <soapenv:Header/> > <soapenv:Body> > <med:SwitchRendererOperation> > <pid>957</pid> > <deviceName>some device</deviceName> > </med:SwitchRendererOperation> > </soapenv:Body> > </soapenv:Envelope> > > Here's what I see in the log when I send the message that is in the > relevant onEvent: > > 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 : SwitchRendererOperation > DEBUG - GeronimoLog.debug(66) | Found operation > org.apache.axis2.description.inonlyaxisoperat...@fb8048 > DEBUG - GeronimoLog.debug(66) | Received one-way message for > SwitchRendererService.{http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl}SwitchRendererOperation > DEBUG - GeronimoLog.debug(66) | ODE routed to operation Operation: > name=SwitchRendererOperation > parameterOrder=[pid, deviceName] > style=ONE_WAY,0 > Input: name=input1 > Message: > name={http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl}SwitchRendererOperationRequest > Part: name=pid > typeName={http://www.w3.org/2001/XMLSchema}string > Part: name=deviceName > typeName={http://www.w3.org/2001/XMLSchema}string from service > {http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl}SwitchRendererService > DEBUG - GeronimoLog.debug(66) | Invoking ODE using MEX > {MyRoleMex#hqejbhcnphr4w6489grb1j [Client null] calling > {http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl}SwitchRendererService.SwitchRendererOperation(...)} > DEBUG - GeronimoLog.debug(66) | Message content: <?xml version="1.0" > encoding="UTF-8"?> > <message><deviceName > xmlns:med="http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">XBMC: Media > Renderer (192.168.1.5)</deviceName><pid > xmlns:med="http://j2ee.netbeans.org/wsdl/MediaCompositeWsdl" > xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">957</pid></message> > DEBUG - GeronimoLog.debug(66) | invoke() EPR= null ==> > ODEProcess[{http://enterprise.netbeans.org/bpel/MediaComposite1/MediaComposite1}MediaComposite1-1] > DEBUG - GeronimoLog.debug(66) | INPUTMSG: 70.SwitchRendererOperation: MSG > RCVD keys=[{CorrelationKey setId=66, values=[957]}] mySessionId=null > partnerSessionId=null > DEBUG - GeronimoLog.debug(66) | INPUTMSG: 70.SwitchRendererOperation: > SAVING to DB (no match) > DEBUG - GeronimoLog.debug(66) | schedulingRunnable for process > {http://enterprise.netbeans.org/bpel/MediaComposite1/MediaComposite1}MediaComposite1-1: > org.apache.ode.bpel.engine.unreliablemyrolemessageexchangeimp...@4e32d5 > DEBUG - GeronimoLog.debug(66) | Releasing mex hqejbhcnphr4w6489grb1j > > Now, 957 is the right process id, therefore I suspect that I'm doing > something wrong with the correlation, but really not sure about it. > > http://old.nabble.com/file/p27074760/MediaComposite1.bpel > MediaComposite1.bpel > http://old.nabble.com/file/p27074760/MediaCompositeWsdl.wsdl > MediaCompositeWsdl.wsdl > > Thanks, > Dawg. > > > Tammo van Lessen wrote: >> >> Hi, >> >> On 07.01.2010 21:59, dawg wrote: >>> The specific use case I have is this: on the primary sequence I have my >>> business logic, where on the parallel I have a receive activity that >>> listens >>> to a callback that may trigger a set of other activities. However if the >>> business logic reached the join point, then even if a callback message >>> has >>> been received and started its processing, it should be dropped and the >>> process should continue from the join point. >> >> What about wrapping your business logic in a scope and attaching an >> event handler to it, with an onMessage element for the call back that >> handles that particular case? When the business logic is done, the scope >> is completed and the event handler discarded. >> >> How does that sound? >> >> Tammo >> >> -- >> Tammo van Lessen - http://www.taval.de >> >> > > -- View this message in context: http://old.nabble.com/Parallel-Flow-Question-tp27066915p27108447.html Sent from the Apache Ode User mailing list archive at Nabble.com.
