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

Reply via email to