01: /*
02: * $Id: CxfComponentExceptionStrategy.java 11405 2008-03-18 00:13:00Z dirk.olmes $
03: * --------------------------------------------------------------------------------------
04: * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com
05: *
06: * The software in this package is published under the terms of the CPAL v1.0
07: * license, a copy of which has been included with this distribution in the
08: * LICENSE.txt file.
09: */
10:
11: package org.mule.transport.cxf;
12:
13: import org.mule.service.DefaultServiceExceptionStrategy;
14:
15: import org.apache.cxf.interceptor.Fault;
16:
17: /**
18: * This exception strategy forces the exception thrown from a web service invocation
19: * to be passed as-is, not wrapped in a Mule exception object. This ensures the XFire
20: * serialiser/deserialiser can send the correct exception object to the client.
21: */
22: public class CxfComponentExceptionStrategy extends
23: DefaultServiceExceptionStrategy {
24: protected void defaultHandler(Throwable t) {
25: if (t.getCause() instanceof Fault) {
26: super.defaultHandler(t.getCause());
27: } else {
28: super.defaultHandler(t);
29: }
30: }
31: }
|