@Override public void invoke(MessageContext context) throws Exception { XFireFault fault = (XFireFault) context.getExchange().getFaultMessage().getBody(); Throwable cause = fault.getCause(); if (cause != null) { handleFault(context, fault, cause, null /*fault info is ignored*/); } }
@Override public void invoke(MessageContext context) throws Exception { XFireFault fault = (XFireFault) context.getExchange().getFaultMessage().getBody(); Throwable cause = fault.getCause(); if (cause != null) { handleFault(context, fault, cause, null /*fault info is ignored*/); } }
public void invoke(MessageContext context) throws Exception { Throwable e = (Throwable) context.getProperty(EXCEPTION); XFireFault fault = XFireFault.createFault(e); // get the root cause so we know what level to log if (fault.getCause() != null) e = fault.getCause(); if (e instanceof RuntimeException) { log.error("Fault occurred!", e); } else if (log.isInfoEnabled()) { log.info("Fault occurred!", e); } context.setCurrentMessage(context.getExchange().getFaultMessage()); Service service = context.getService(); if (service == null || service.getFaultSerializer() == null || !context.getExchange().hasFaultMessage()) { sendToDeadLetter(fault, context); } else { sendFault(fault, context); } }
public void invoke(MessageContext context) throws Exception { XFireFault fault = (XFireFault) context.getExchange().getFaultMessage().getBody(); Throwable cause = fault.getCause(); OperationInfo op = null; if (context.getExchange() != null) op = context.getExchange().getOperation(); if (cause == null || op == null) return; FaultInfo faultPart = getFaultForClass(op, cause.getClass()); if (faultPart != null) { handleFault(context, fault, cause, (MessagePartInfo) faultPart.getMessageParts().get(0)); } }