servicemix-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From slew <sle...@googlemail.com>
Subject VM Pipeline returns early
Date Fri, 06 Aug 2010 08:51:57 GMT

Hi,

I have a CXF web service which forwards via JBI to a camel route.

The camel route calls out to a number or other routes which do things such
as validation, auditing etc.  These calls are made using the VM component
since these sub-routes exist in other service assemblies.  What I'm finding
is that if VM routes are chained together, then I get a response to the web
service after the first one has finished.

As a simple example, if my route is like below:

        from("jbi:endpoint:urn:testcase/TestVMPipeline/Router?mep=in-out")
            .to("log:Received Message")
            .to("vm:testStep")
            .to("log:After Test Step")
            .setBody(constant("<Message xmlns=\"urn:testcase\">Want this one
returned</Message>"))
            .to("log:End of route");

        from("vm:testStep")
            .setBody(constant("<Message xmlns=\"urn:testcase\">Don't want
this one returned</Message>"));

I find that I get the response <Message xmlns=\"urn:testcase\">Don't want
this one returned</Message>, when I want <Message
xmlns=\"urn:testcase\">Want this one returned</Message>.  How can I make the
route block until all steps are complete?

I'm using Camel 2.3 (same behaviour with 2.2) running in ServiceMix 3.3.2.

I've attached the above test case, with a soapUI test project.
http://servicemix.396122.n5.nabble.com/file/n2266432/TestVMPipeline.zip
TestVMPipeline.zip 

Thanks for any advice,
Steve. 
-- 
View this message in context: http://servicemix.396122.n5.nabble.com/VM-Pipeline-returns-early-tp2266432p2266432.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Mime
View raw message