Hi, I'm trying to make a synchronous call to an activemq sending a body right after I process some rest service invocation. Here is my code:
some process here.. sent to this route. private String velocitySetThirdPartyTemplate = "velocity:file://url/velocity/file/SetThirdParty_Template.vm"; from("direct:QueueThirdParty") .process(new ProcessThirdPartyError()) .marshal() .xstream("UTF-8") // wait for the body when the response of the Web Service is 200 ok .to(ExchangePattern.InOut,"jms:queue:CreateThirdParty") .to("activemq:queue:somequeue"); from("jms:queue:CreateThirdParty") .transacted() .unmarshal() .xstream() .process(new SetBodyThirdParty())->this route define body as an ArrayList of Pojo .split(body()) .to(velocitySetThirdPartyTemplate)->this velocity make the json required for the Web Service .process(new RestHeadersSetThirdParty()) .to("restlet:<a href="http://ip:port /Web/Service/url">http://ip:port/Web/Service/url" + "?restletMethod=post&throwExceptionOnFailure") .process(new ResponseProcess()) .log("response ${in.body.getStatus().getCode()}") .process(new SetExchangeInOutBody()); -> this final process set the body that I want to send to the activemq in that is waiting for the reply. the problem is that the body that is sending to the end point "activemq:queue:somequeue" after waiting for a reply is the ArrayList of POJO before the split. Any Idea of how to send the body of the ".process(new SetExchangeInOutBody());" that is the one I need. Thanks in advance. Daniel Felipe Arias.