public String getReason() { return getMessage(); }
writer.writeCharacters(fault.getMessage()); writer.writeEndElement();
protected void processFaultDetail(XFireFault fault, MessageContext context) throws Exception { Element exDetail = (Element) fault.getDetail().getChildren().get(0); MessagePartInfo faultPart = getFaultPart(context.getExchange().getOperation(), exDetail); if (faultPart == null || faultPart.getTypeClass() == null) return; BindingProvider provider = context.getService().getBindingProvider(); JDOMStreamReader reader = new JDOMStreamReader(exDetail); reader.nextTag(); Object e = (Object) provider.readParameter(faultPart, reader, context); if (!(e instanceof Exception)) { Class exClass = ((FaultInfo) faultPart.getContainer()).getExceptionClass(); Constructor constructor = exClass.getConstructor(new Class[] {String.class, faultPart.getTypeClass()}); e = constructor.newInstance(new Object[] {fault.getMessage(), e}); } context.getExchange().getFaultMessage().setBody(e); }