1 /* 2 * $Id: XFireComponentExceptionStrategy.java 7963 2007-08-21 08:53:15Z dirk.olmes $ 3 * -------------------------------------------------------------------------------------- 4 * Copyright (c) MuleSource, Inc. All rights reserved. http://www.mulesource.com 5 * 6 * The software in this package is published under the terms of the CPAL v1.0 7 * license, a copy of which has been included with this distribution in the 8 * LICENSE.txt file. 9 */ 10 11 package org.mule.providers.soap.xfire; 12 13 import org.mule.impl.DefaultComponentExceptionStrategy; 14 15 import org.codehaus.xfire.fault.FaultInfoException; 16 17 /** 18 * This exception strategy forces the exception thrown from a web service invocation to be passed as-is, not wrapped in 19 * a Mule exception object. This ensures the XFire serialiser/deserialiser can send the correct exception object 20 * to the client. 21 */ 22 public class XFireComponentExceptionStrategy extends DefaultComponentExceptionStrategy 23 { 24 protected void defaultHandler(Throwable t) 25 { 26 if (t.getCause() instanceof FaultInfoException) 27 { 28 super.defaultHandler(t.getCause()); 29 } 30 else 31 { 32 super.defaultHandler(t); 33 } 34 } 35 }