You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@servicemix.apache.org by "Rossmanith, Philipp" <ph...@t-systems.es> on 2010/09/06 19:43:34 UTC

How-to intercept a Soap fault from a cxf-se provider endpoint in Camel

Hi,

I have a setup where I have a CXF bridge with a Camel route in between:
CXF-BC -> Camel -> CXF-SE (see attachment)

I test the route by sending requests via SoapUI. I use Fuse
4.2.0-fuse-02-00.

Among other things, the idea of having the Camel route is intercepting
all exceptions that may occur in the processing and send them to an
endpoint where such information is collected. Also, I make a copy of
request and response using wireTap.

I wrote a custom processor that analyzes the message content and throws
a RuntimeException or a NoSuchMethodException for a given message
pattern. Besides, the CXF-SE service throws a custom Fault if a given
element is empty.

If I send an ordinary request, request and response are stored in the
expected folders.

If I trigger one of the processor exceptions, the flow correctly
intercepts the error message and stores it.

However, when I trigger the CXF-SE fault, I do get the expected SOAP
response in SoapUI, but the flow doesn't leave any trace of the fault
message - neither in the folders I configured for faults nor in the
ordinary response folder. Set to DEBUG, ServiceMix logs show the JBI
fault message.

Hence my question:
How can I intercept a JBI fault message in a Camel route?

Thanks,
Ciao,
Philipp