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
