I don't find a way to manipulate the MapMessage with Spring XML file. But you can leverage the Processor to get back the control :)
<camel:route> <camel:from uri="activemq:queue:incoming" /> <camel:pipeline> <camel:to uri="activemq:queue:service.A" /> <camel:choice> <camel:when> <camel:el>${in.body["somefield"] == "true"}</camel:el> <camel:process ref="changeMessageBody"/> <camel:to uri="activemq:queue:service.B"/> </camel:when> </camel:choice> </camel:pipeline> </camel:route> <bean id="changeMessageBody" class="MyProcessor"/> public class MyProcessor implements Processor { public void process(Exchange exchange) throws Exception { Map map = (Map) exchange.getIn().getbody(); // do what you want on this map // set the map to the exchange exchange.getOut().setBody(map); } } Willem Tim83 wrote: > Hi all, > > I'm having some troubles sending a MapMessage to a activemq queue using > camel 1.6. > > basicly what I'm trying to achieve is > > I have an incoming map message, that first needs to go to service A, then to > service B (optional). > Once the message has been processed by service A, some fields in the map > message need to be changed, in order for service B to handle it properly. > > I've tried to configure this using the following XML, however I cannot get > it to create the correct map message containing the correct information to > send it to service B. > > The incoming message contains > {source=c:\somefile.txt, to=c:\somefile2.txt, toextra=c:\somefile3.txt} > > However for service B the map should become > {source=c:\somefile2.txt, to=c:\somefile3.txt} > > Is it possible to do this with camel using the xml config? Because I can't > seem to find out how? :( > > <camel:route> > <camel:from uri="activemq:queue:incoming" /> > <camel:pipeline> > <camel:to uri="activemq:queue:service.A" /> > <camel:choice> > <camel:when> > <camel:el>${in.body["somefield"] == > "true"}</camel:el> > <camel:setBody> > <camel:el>what to put here?</camel:el> > > </camel:setBody> > <camel:to uri="activemq:queue:service.B"/> > </camel:when> > </camel:choice> > </camel:pipeline> > </camel:route> > > Thanks, > > Tim