Hi,

I have a route that looks like this:
                from( sourceEndpoint )
.onException( java.lang.Throwable.class ).process( new Processor() { public void process(Exchange exchange) throws Exception
                                {
                                    log.warn( "onException\n\n\n\n" );
Throwable caused = exchange.getProperty(Exchange.EXCEPTION_CAUGHT, Throwable.class); log.info( "caused = " + caused.getClass().getCanonicalName() ); log.info( "caused = " + caused.getMessage() ); log.info( "caused = " + caused.toString() );
                                    log.info( "caused = " + caused );
                                }
                            }).end()
                        .to( destinationEndpoint );

Both sourceEndpoint and destinationEndpoint are CXF endpoints.
When destinationEndpoint is unavailable (the server is down) the onException handler is thrown correctly.

But if destinationEndpoint returns a SOAP:Fault onException isn't triggered and I can't find out how to modify the SOAP:Fault that the clients of sourceEndpoint receive. I need to ensure that SOAP:Server faults are modified before being returned to the client.

I tried adding a processor, but that only gets called on the way In, whether it returns a fault or not.

I'm new to camel but I've managed to get most of my requirements met, leaving me with just this problem that's got me completely stumped.

Thanks

Jim

Reply via email to