You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Jochen Riedlinger (JIRA)" <ji...@apache.org> on 2019/03/28 14:02:00 UTC

[jira] [Created] (CAMEL-13376) failure processor for custom exception handling cannot get the original message

Jochen Riedlinger created CAMEL-13376:
-----------------------------------------

             Summary: failure processor for custom exception handling cannot get the original message
                 Key: CAMEL-13376
                 URL: https://issues.apache.org/jira/browse/CAMEL-13376
             Project: Camel
          Issue Type: Bug
          Components: camel-cxf
    Affects Versions: 3.0.0-M1, 2.21.0
         Environment: Redhat Fuse 7.0 (on EAP)

reproduced with current "camel-example-cxf-proxy" example
            Reporter: Jochen Riedlinger


I configured custom exception handling for a CXF consumer where I want to use my own processor.
 
 Lile this:
 
 onException(Exception.class)
            .handled(false)
            .useOriginalMessage()
            .process(failureResponseProcessor);
 
 or:
 
 <onException useOriginalMessage="true">
    <exception>java.lang.Exception</exception>
    <handled><constant>false</constant></handled>
    <process ref="failureResponseProcessor"/>
</onException>



If allowStreaming is enabled on the CXF consumer endpoint, my FailureResponseProcessor cannot get the original body (the body part of CachedCxfPayload seems to be empty).

If I set allowStreaming to false, the processor works as expected.


I did a branch on my fork to create this reproducer:

https://github.com/jochenr/camel/tree/Reproducer-CXF-CustomExceptionHandling-in-StreamingMode/examples/camel-example-cxf-proxy


If you toggle the setting of allowStreaming between true and false, you see the different output to the console, right after the string
"This was the original BODY that caused the fault:"



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)