I've trimmed my code to the bear minimum. If I throw the exception in my first call to the child route, then I get the body returned to my aggregation strategy, but when I throw an exception on my second call the body is null when I get to the aggregation strategy. Why would this be?
-------------------------------------------------------------------- Main Route -------------------------------------------------------------------- <camelContext xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="defaultHandler"> <errorHandler id="defaultHandler" type="DeadLetterChannel" deadLetterUri="smtp://localhost:8059?to=m...@aaaa.com&subject=Complete" /> <route id="REMOVETestEnvironmentWriteToQueue"> <from uri="{{endpoint.IncomingRequest}}" /> <to uri="jms:ANN.NB.ILLUST.BATCH" /> </route> <route id="IllustrationsBatch"> <from uri="jms:ANN.NB.ILLUST.BATCH" /> <camel:split strategyRef="IllustAggregationStrat" parallelProcessing="false"> <xpath>/TXLife/TXLifeRequest</xpath> *If I throw an exception on the first call to the child route, then my error handler will send me an email with the body of "Test" and when I reach my aggregation strategy the body also says "Test". Which is what I would expect.* <transform><camel:simple>Test</camel:simple></transform> <inOut uri="jms:ANN.NB.ILLUST.IMAGE.IN?transferException=true&requestTimeout=120000" /> *If I throw an exception on the second call to the child route, then my error handler will send me an email with the body of "Test2", but when I reach my aggregation strategy the body is null.* <transform><camel:simple>Test2</camel:simple></transform> <inOut uri="jms:ANN.NB.ILLUST.IMAGE.IN?transferException=true&requestTimeout=120000" /> </camel:split> </route> </camelContext> -------------------------------------------------------------------------------------- Child route -------------------------------------------------------------------------------------- <camelContext xmlns="http://camel.apache.org/schema/spring" errorHandlerRef="defaultHandler"> <errorHandler id="defaultHandler" type="NoErrorHandler" /> <route id="ImagingRoute"> <from uri="jms:ANN.NB.ILLUST.IMAGE.IN?transferException=true&requestTimeout=120000" /> <to uri="bean:fakeImageCall" /> </route> </camelContext> ------------------------------------------------------------------------------------------------------ Bean ---------------------------------------------------------------------------------------------- public class ImageServiceCall { public void process(Exchange exchange) throws Exception { if(exchange.getIn().getBody(String.class).equals("Test2")){ throw new IOException(); } } } -- View this message in context: http://camel.465427.n5.nabble.com/Null-Body-tp5731568p5731637.html Sent from the Camel - Users mailing list archive at Nabble.com.