Author: thilinamb Date: Sat Feb 19 13:29:49 2011 New Revision: 1072324 URL: http://svn.apache.org/viewvc?rev=1072324&view=rev Log: Applying patch for RAMPART-305 provided by AmilaJ
Modified: axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartSender.java Modified: axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartSender.java URL: http://svn.apache.org/viewvc/axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartSender.java?rev=1072324&r1=1072323&r2=1072324&view=diff ============================================================================== --- axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartSender.java (original) +++ axis/axis2/java/rampart/trunk/modules/rampart-core/src/main/java/org/apache/rampart/handler/RampartSender.java Sat Feb 19 13:29:49 2011 @@ -36,7 +36,7 @@ import org.apache.ws.security.WSSecurity public class RampartSender implements Handler { private static Log mlog = LogFactory.getLog(RampartConstants.MESSAGE_LOG); - + private static HandlerDescription EMPTY_HANDLER_METADATA = new HandlerDescription("default Handler"); @@ -54,10 +54,11 @@ public class RampartSender implements Ha } public InvocationResponse invoke(MessageContext msgContext) throws AxisFault { - + if (!msgContext.isEngaged(WSSHandlerConstants.SECURITY_MODULE_NAME)) { - return InvocationResponse.CONTINUE; - } + return InvocationResponse.CONTINUE; + } + MessageBuilder builder = new MessageBuilder(); try { @@ -67,7 +68,13 @@ public class RampartSender implements Ha } catch (WSSPolicyException e) { throw new AxisFault(e.getMessage(), e); } catch (RampartException e) { - throw new AxisFault(e.getMessage(), e); + // If a framework exception is occurred while processing a security fault + // send the original fault to the client. + if (msgContext.isProcessingFault()) { + return InvocationResponse.CONTINUE; + } else { + throw new AxisFault(e.getMessage(), e); + } } if(mlog.isDebugEnabled()){