Details
-
Bug
-
Status: Resolved
-
Major
-
Resolution: Fixed
-
3.2.1
-
None
Description
When a JBI component sends an InOnly MessageExchange to camel, the Camel route can not do anything that would change the Camel Exchange's out message. We will have to allow the Camel route to modify the out message 'en cours de route' without touching the JBI MessageExchange.
java.lang.RuntimeException: javax.jbi.messaging.MessagingException: Out not supported at org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:161) at org.apache.servicemix.camel.JbiExchange.createOutMessage(JbiExchange.java:143) at org.apache.servicemix.camel.JbiExchange.createOutMessage(JbiExchange.java:34) at org.apache.camel.impl.DefaultExchange.getOut(DefaultExchange.java:178) at org.apache.servicemix.camel.JbiExchange.getOut(JbiExchange.java:68) at org.apache.servicemix.camel.JbiExchange.getOut(JbiExchange.java:34) at org.apache.camel.impl.DefaultExchange.getOut(DefaultExchange.java:173) at org.apache.servicemix.camel.JbiExchange.getOut(JbiExchange.java:63) at org.apache.servicemix.camel.JbiExchange.getOut(JbiExchange.java:34) at org.apache.camel.processor.ConvertBodyProcessor.process(ConvertBodyProcessor.java:45) at org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsynProcessorBridge.process(AsyncProcessorTypeConverter.java:44) at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:143) at org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:87) at org.apache.camel.processor.Pipeline.process(Pipeline.java:101) at org.apache.camel.processor.Pipeline.process(Pipeline.java:85) at org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:40) at org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:44) at org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:68) at org.apache.servicemix.camel.CamelJbiEndpoint.handleActiveProviderExchange(CamelJbiEndpoint.java:94) at org.apache.servicemix.camel.CamelJbiEndpoint.process(CamelJbiEndpoint.java:74) at org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:538) at org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:490) at org.apache.servicemix.common.BaseLifeCycle.onMessageExchange(BaseLifeCycle.java:46) at org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:610) at org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:170) at org.apache.servicemix.jbi.nmr.flow.seda.SedaFlow.doRouting(SedaFlow.java:167) at org.apache.servicemix.jbi.nmr.flow.seda.SedaQueue$1.run(SedaQueue.java:134) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) Caused by: javax.jbi.messaging.MessagingException: Out not supported at org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:357) at org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:157) ... 29 more