Hi Peter, no, these implicit correlation tokens are internally used like explicit correlation. Unmatched messages are queued for the case that the corresponding receive has not yet been activated. So it's currently not possible to reject such messages.
What didn't work with explicit correlation in your case? Tammo On 04.08.2010 09:34, Peter Lanser wrote: > Hello, > > using Apache ODE 1.3.4 I need to implement an asynchronous call to an > external service. After hours of trial and error (and some code-lookup) I do > not use explicit correlation any more, but rather the external service is > setting the session ID within the SOAP header. Basically it works - all > messages are routed correctly. The only problem is that messges with an > invalid session identifier are not rejected by ODE. They are saved to the DB > instead. Within > org.apache.ode.bpel.engine.PartnerLinkMyRole#noRoutingMatch(...) the > incoming mex is tested whether it is asynchronous or not. Obviously i'm > reaching the synchronous branch... > > Is there a way to reject messages with an invalid session identifier? > > The asynchronous call looks something like this: > > ... > <partnerLink myRole="me" name="app" partnerLinkType="..." > partnerRole="app"/> > ... > <invoke inputVariable="request" operation="theOperation" > outputVariable="initResponse" partnerLink="app"/> > <pick> > <onMessage operation="callback" partnerLink="app" variable="response"> > ... > </pick> > ... > > The operation invoked is a two-way operation. The callback operation is > one-way. > > Many thanks for your help! > > Peter > -- Tammo van Lessen - http://www.taval.de
