ode-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From dawg <zohar.etzi...@gmail.com>
Subject Re: Parallel Flow Question
Date Mon, 11 Jan 2010 10:30:52 GMT

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


Mime
View raw message