Hi,

Has anyone come across this same bug?
Could someone please give me a hand to fix this? I would very much
appreciate your help as we are pretty much stuck in our development until
this bug is fixed....

Thanks!!


raulvk.soa wrote:
> 
> 
> Hi,
> 
> I have been trying to fix this bug. I have modified the
> org.apache.servicemix.camel.JbiExchange.createMessage(String name) to the
> following:
> 
> private JbiMessage createMessage(String name) {
>         if (messageExchange != null) {
>             try {
>                 NormalizedMessage msg = messageExchange.getMessage(name);
>                 if (msg == null) {
>                       if(name.equals("fault")) {
>                               msg = messageExchange.createFault();
>                               messageExchange.setFault((Fault) msg);
>                       }
>                       else {
>                           msg = messageExchange.createMessage();
>                           messageExchange.setMessage(msg, name);
>                       }
>                 }
>                 return new JbiMessage(msg);
>             } catch (JBIException e) {
>                 throw new RuntimeException(e);
>             }
>         } else {
>             return new JbiMessage();
>         }
>     }
> 
> 
> However, now I get the following exception when a Fault is received as a
> response:
> 
> 18:26:41,053 | ERROR - org.apache.camel.processor.Logger - Failed delivery
> for exchangeId: ID-XXX-B624E47AF0/4562-1222189666671/0-147. On delivery
> attempt: 1 caught: java.lang.IllegalStateException: component is not owner
> java.lang.IllegalStateException: component is not owner
>         at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setMessage(MessageExchangeImpl.java:338)
>         at
> org.apache.servicemix.jbi.messaging.MessageExchangeImpl.setFault(MessageExchangeImpl.java:290)
>         at
> org.apache.servicemix.camel.JbiExchange.createMessage(JbiExchange.java:170)
>         at
> org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:158)
>         at
> org.apache.servicemix.camel.JbiExchange.createFaultMessage(JbiExchange.java:39)
>         at
> org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:251)
>         at
> org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:83)
>         at
> org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:39)
>         at
> org.apache.camel.impl.DefaultExchange.getFault(DefaultExchange.java:246)
>         at
> org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:78)
>         at
> org.apache.servicemix.camel.JbiExchange.getFault(JbiExchange.java:39)
>         at
> org.apache.servicemix.camel.ToJbiProcessor.process(ToJbiProcessor.java:98)
>         at
> org.apache.servicemix.camel.JbiEndpoint$1.process(JbiEndpoint.java:57)
>         at
> org.apache.camel.impl.converter.AsyncProcessorTypeConverter$ProcessorToAsyncProcessorBridge.process(AsyncProcessorTypeConverter.java:43)
>         at
> org.apache.camel.processor.SendProcessor.process(SendProcessor.java:75)
>         .....................
> 
> 
> Any suggestion as to why this is happening and how can I fix this bug,
> which is really blocking our development?
> 
> Thank you.
> 
> 
> 
> raulvk.soa wrote:
>> 
>> 
>> Hi,
>> 
>> I have found the corresponding JIRA issue
>> (https://issues.apache.org/activemq/browse/SM-1589), but it has minor
>> priority.
>> 
>> Honestly, I believe that the priority of this one should be very high, as
>> it is preventing Camel and ServiceMix to interact correctly. In our
>> scenario, we are have come across this bug and as far as I can imagine,
>> there is really no workaround to this until it is fixed!
>> 
>> Raul.
>> 
>> 
>> Gert Vanthienen wrote:
>>> 
>>> Garry,
>>> 
>>> As far as I can see, you are absolutely right about this.  Could you 
>>> raise a JIRA issue for it, please?  Feel free to add a unit test and a 
>>> patch off course, we welcome contributions ;)!
>>> 
>>> Regards,
>>> 
>>> Gert
>>> 
>>> Garry wrote:
>>>> Hi,
>>>>
>>>> While doing fault handling with Camel, I've been getting an exception:
>>>>
>>>>   javax.jbi.messaging.MessagingException: Setting fault, but message is
>>>> not
>>>> a fault
>>>>   
>>>> In my version of org.apache.servicemix.camel.JbiExchange, around line
>>>> 153,
>>>> method 'createFaultMessage' calls 'createMessage' with argument
>>>> "fault."
>>>> Method 'createMessage' might then create a normal - not fault - message
>>>> and
>>>> set it on the exchange as a FAULT which will, if I'm looking at it
>>>> correctly,
>>>> trigger the above exception. Does this make sense?
>>> 
>>>>
>>>> Thanks, Garry
>>>>
>>>>   
>>> 
>>> 
>>> 
>>> -----
>>> ---
>>> Gert Vanthienen
>>> http://www.anova.be
>>> 
>> 
>> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/Getting-Camel-fault-exception-tp19401580p19665902.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to