Hi, I'm using camel 2.0 snapshot and trying to get a response back from the first condition in the following choice():
from(JMS_JIS) .choice() .when().xpath("/jis:ListSupportedFeaturesRequest", cisNamespace) .unmarshal("camelJaxbDataFormat") .setHeader("responsetype", constant(new ListFeaturesResponseType())) .to(ExchangePattern.InOut, "filter:cisListSupportedFeaturesFilterChain") .when().xpath("/jis:ContentQueryRequest", cisNamespace) .unmarshal("camelJaxbDataFormat") .setHeader("responsetype", constant(new ContentQueryResponseType())) .to(ExchangePattern.InOut, "filter:cisContentQueryRequestFilterChain") .otherwise() .unmarshal("camelJaxbDataFormat") .setHeader("responsetype", constant(new ServiceCheckResponseType())) .to(ExchangePattern.InOut, "filter:serviceCheckFilterChain") .end(); The "filter" component is one I created. I can see that the result object is being set at the end of my FilterProcessor, but the response returned from: Object response = producerTemplate.sendBody(CamelRoutes.JMS_JIS, ExchangePattern.InOut, xmlRequestBody); is null. "xmlRequestBody" is just an XML string. As far as I can tell, everything is working fine except for getting back the result object. Interestingly, if I change the sendBody(...) call to: Object response = producerTemplate.sendBody(CamelRoutes.JMS_JIS, xmlRequestBody); I get the original XML returned as the response object. I'm not sure what that indicates, but it's not what I need to have happen. There is nothing in the logs to indicate an error in from the JMS or JAXB components. I've been beating my head against this for a few hours and I don't know what else I could try. Any help is very much appreciated. Thanks for your time. Regards, Nick