[ 
https://issues.apache.org/activemq/browse/SMXCOMP-651?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Willem Jiang reassigned SMXCOMP-651:
------------------------------------

    Assignee: Gert Vanthienen

Hi Gert ,

Could you apply this patch if you have time?

Thanks,

Willem

> smx-camel errorHandler problem when in-only mep received, robust-in-only mep 
> sent, fault returned, and handleFault="true"
> -------------------------------------------------------------------------------------------------------------------------
>
>                 Key: SMXCOMP-651
>                 URL: https://issues.apache.org/activemq/browse/SMXCOMP-651
>             Project: ServiceMix Components
>          Issue Type: Bug
>          Components: servicemix-camel
>    Affects Versions: servicemix-camel-2009.01
>            Reporter: Ron Gavlin
>            Assignee: Gert Vanthienen
>         Attachments: smxcomp-651-new.patch, smxcomp-651-test-2009.01.patch, 
> smxcomp-651-test.patch
>
>
> This patch adds a robust-in-only test, 
> JbiRobustInOnlyWithFaultHandledTrueSpringDSLTest, that exposes a bug in the 
> 2009.01 version of the component. It appears this bug is fixed with the 
> camel-2.0-based re-write of the component. Will attach the test patch shortly.
> The stack trace generated when running test, 
> testInOnlyWithFaultHandledByExceptionClause, using version 
> servicemix-camel-2009.01is listed below:
> INFO  - ComponentMBeanImpl             - Initializing component: 
> ID:10.10.10.10-124573db925-0:4
> INFO  - ComponentMBeanImpl             - Starting component: 
> ID:10.10.10.10-124573db925-0:4
> ERROR - CamelJbiComponent              - Error processing exchange 
> RobustInOnly[
>   id: ID:10.10.10.10-124573db925-3:0
>   status: Active
>   role: consumer
>   service: {urn:test}faulty-service
>   endpoint: endpoint
>   in: null
>   fault: <?xml version="1.0" encoding="UTF-8"?><fault/>
> ]
> java.lang.RuntimeException: javax.jbi.messaging.MessagingException: Fault not 
> supported
>       at 
> org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:179)
>       at 
> org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:156)
>       at 
> org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:1)
>       at 
> org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:259)
>       at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:81)
>       at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:1)
>       at 
> org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:254)
>       at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:76)
>       at org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:1)
>       at 
> org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:64)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:598)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>       at 
> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>       at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
>       at 
> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
>       at 
> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
>       at 
> org.apache.servicemix.components.util.PojoSupport.fail(PojoSupport.java:237)
>       at 
> org.apache.servicemix.camel.JbiInOnlyWithFaultHandledTrueSpringDSLTest$ReturnFaultComponent.onMessageExchange(JbiInOnlyWithFaultHandledTrueSpringDSLTest.java:101)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>       at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
>       at 
> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
>       at 
> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
>       at 
> org.apache.servicemix.common.EndpointDeliveryChannel.send(EndpointDeliveryChannel.java:88)
>       at 
> org.apache.servicemix.common.endpoints.SimpleEndpoint.send(SimpleEndpoint.java:70)
>       at 
> org.apache.servicemix.camel.CamelConsumerEndpoint.process(CamelConsumerEndpoint.java:89)
>       at 
> org.apache.servicemix.camel.JbiEndpoint$JbiProducer.process(JbiEndpoint.java:98)
>       at 
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:84)
>       at 
> org.apache.servicemix.camel.su9.HandleFaultProcessor.process(HandleFaultProcessor.java:47)
>       at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>       at 
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:189)
>       at 
> org.apache.camel.processor.DeadLetterChannel.process(DeadLetterChannel.java:133)
>       at 
> org.apache.camel.management.InstrumentationProcessor.process(InstrumentationProcessor.java:68)
>       at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.proceed(StreamCachingInterceptor.java:87)
>       at 
> org.apache.camel.processor.interceptor.StreamCachingInterceptor.process(StreamCachingInterceptor.java:82)
>       at 
> org.apache.camel.processor.UnitOfWorkProcessor.process(UnitOfWorkProcessor.java:52)
>       at 
> org.apache.camel.util.AsyncProcessorHelper.process(AsyncProcessorHelper.java:41)
>       at 
> org.apache.camel.processor.DelegateAsyncProcessor.process(DelegateAsyncProcessor.java:66)
>       at 
> org.apache.servicemix.camel.CamelProviderEndpoint.handleActiveProviderExchange(CamelProviderEndpoint.java:94)
>       at 
> org.apache.servicemix.camel.CamelProviderEndpoint.process(CamelProviderEndpoint.java:73)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.doProcess(AsyncBaseLifeCycle.java:627)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.processExchange(AsyncBaseLifeCycle.java:581)
>       at 
> org.apache.servicemix.common.AsyncBaseLifeCycle.onMessageExchange(AsyncBaseLifeCycle.java:535)
>       at 
> org.apache.servicemix.common.SyncLifeCycleWrapper.onMessageExchange(SyncLifeCycleWrapper.java:60)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.processInBound(DeliveryChannelImpl.java:620)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.doRouting(AbstractFlow.java:172)
>       at org.apache.servicemix.jbi.nmr.flow.st.STFlow.doSend(STFlow.java:49)
>       at 
> org.apache.servicemix.jbi.nmr.flow.AbstractFlow.send(AbstractFlow.java:123)
>       at 
> org.apache.servicemix.jbi.nmr.DefaultBroker.sendExchangePacket(DefaultBroker.java:283)
>       at 
> org.apache.servicemix.jbi.container.JBIContainer.sendExchange(JBIContainer.java:894)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.doSend(DeliveryChannelImpl.java:395)
>       at 
> org.apache.servicemix.jbi.messaging.DeliveryChannelImpl.send(DeliveryChannelImpl.java:431)
>       at 
> org.apache.servicemix.client.DefaultServiceMixClient.send(DefaultServiceMixClient.java:148)
>       at 
> org.apache.servicemix.camel.JbiInOnlyWithFaultHandledTrueSpringDSLTest.testInOnlyWithFaultHandledByExceptionClause(JbiInOnlyWithFaultHandledTrueSpringDSLTest.java:59)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
>       at java.lang.reflect.Method.invoke(Method.java:597)
>       at junit.framework.TestCase.runTest(TestCase.java:168)
>       at junit.framework.TestCase.runBare(TestCase.java:134)
>       at junit.framework.TestResult$1.protect(TestResult.java:110)
>       at junit.framework.TestResult.runProtected(TestResult.java:128)
>       at junit.framework.TestResult.run(TestResult.java:113)
>       at junit.framework.TestCase.run(TestCase.java:124)
>       at junit.framework.TestSuite.runTest(TestSuite.java:232)
>       at junit.framework.TestSuite.run(TestSuite.java:227)
>       at 
> org.junit.internal.runners.JUnit38ClassRunner.run(JUnit38ClassRunner.java:81)
>       at 
> org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:45)
>       at 
> org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:460)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:673)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:386)
>       at 
> org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:196)
> Caused by: javax.jbi.messaging.MessagingException: Fault not supported
>       at 
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:366)
>       at 
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setFault(MessageExchangeImpl.java:290)
>       at 
> org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:166)
>       ... 81 more

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to