Hi Claus,
I didn't find there is a soapFault option int he CamelContext or
cxfEndpoint URI.
BTW,
There is HandleFault InterceptStrategy, which could be used to turn a
fault message into a exception.
Here is the DSL for configure it
public void configure() throws Exception {
HandleFault handleFault =new HaneleFault();
getContext().addInterceptStrategy(handleFault);
...
}
Willem
Claus Ibsen wrote:
Hi
You can enable the soapFault=true on the CamelContext which turns
faults into exceptions.
Or you can simply add a processor step at the end of your route, and
check if the exchange is a fault
public void process(Exchange exchange) {
boolean isFault = exchange.hasOut() && exchange.getOut().isFault();
// do something before the OUT message is returned to the caller
}
On Sat, Mar 6, 2010 at 4:51 PM, Jim Talbut <jtal...@spudsoft.co.uk> wrote:
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