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/n450188/TestVMPipeline.zip
TestVMPipeline.zip
Thanks for any advice,
Steve.
--
View this message in context:
http://servicemix.396122.n5.nabble.com/VM-Pipeline-returns-early-tp450188p450188.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.