writer.write(faultInfo, part, new W3CDOMStreamWriter(f.getOrCreateDetail())); if (!f.getDetail().hasChildNodes()) { f.setDetail(null);
private void createFaultDetail(Document faultData, FaultInfo faultInfo, Fault faultEx) { MessagePartInfo partInfo = faultInfo.getMessageParts().get(0); QName partInfoName = partInfo.getElementQName(); Document faultDoc = DOMUtils.getEmptyDocument(); Element faultElement = faultDoc.createElement("detail"); Element partElement = faultDoc.createElementNS(partInfoName.getNamespaceURI(), partInfoName.getLocalPart()); Element faultDataElement = (Element) faultData.getFirstChild(); Node node = faultDataElement.getFirstChild(); while (node != null) { Node importedFaultData = faultDoc.importNode(node, true); partElement.appendChild(importedFaultData); node = node.getNextSibling(); } faultElement.appendChild(partElement); faultEx.setDetail(faultElement); }
public class SchemaErrorHandler implements Processor { private final String STATUS_CODE = "6103"; private final String SEVERITY_CODE = "2"; @Override public void process(Exchange exchange) throws Exception { Map<String, Object> map = exchange.getProperties(); String statusDesc = "Unknown exception"; if (map != null) { SchemaValidationException exception = (SchemaValidationException) map.get("CamelExceptionCaught"); if (exception != null && !CollectionUtils.isEmpty(exception.getErrors())) { StringBuffer buffer = new StringBuffer(); for (SAXParseException e : exception.getErrors()) { statusDesc = e.getMessage(); buffer.append(statusDesc); } statusDesc = buffer.toString(); } } Fault fault = new Fault(new Message(statusDesc, (ResourceBundle) null)); fault.setDetail(ErrorUtils.createDetailSection(STATUS_CODE, statusDesc, exchange, SEVERITY_CODE)); throw fault; } }
public static void buildWeatherFaultAndSet2SoapMessage(SoapMessage message, FaultConst faultContent) { Fault exceptionFault = (Fault) message.getContent(Exception.class); String originalFaultMessage = exceptionFault.getMessage(); exceptionFault.setMessage(faultContent.getMessage()); exceptionFault.setDetail(createFaultDetailWithWeatherException(originalFaultMessage, faultContent)); message.setContent(Exception.class, exceptionFault); }
public void buildCustomFaultAndSet2SoapMessage(SoapMessage message, FaultType faultType) { Fault exceptionFault = (Fault) message.getContent(Exception.class); // Preserve original FaultMessage for later need String originalFaultMessage = getMessageValueIfThere(exceptionFault); exceptionFault.setMessage(customFaultBuilder.createCustomFaultMessage(faultType)); exceptionFault.setDetail(createFaultDetailWithCustomException(originalFaultMessage, faultType)); message.setContent(Exception.class, exceptionFault); }
public static void buildWeatherFaultAndSet2SoapMessage(SoapMessage message, FaultConst faultContent) { Fault exceptionFault = (Fault) message.getContent(Exception.class); String originalFaultMessage = exceptionFault.getMessage(); exceptionFault.setMessage(faultContent.getMessage()); exceptionFault.setDetail(createFaultDetailWithWeatherException(originalFaultMessage, faultContent)); message.setContent(Exception.class, exceptionFault); }
Element details = toElement(exchange.getFault() .getContent()); f.setDetail(details); "Fault occured", (ResourceBundle) null), new QName(details.getNamespaceURI(), "detail")); f.setDetail(details); if (exchange.getProperty("faultstring") != null) { f.setMessage((String)exchange.getProperty("faultstring"));
writer.write(faultInfo, part, new W3CDOMStreamWriter(f.getOrCreateDetail())); if (!f.getDetail().hasChildNodes()) { f.setDetail(null);
if (!f.getDetail().hasChildNodes()) f.setDetail(null);
public void handleMessage(JBIMessage message) throws Fault { XMLStreamReader xsr = message.getContent(XMLStreamReader.class); DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr); try { if (!StaxUtils.toNextElement(reader)) { throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEGAL_JBIFAULT_FORMAT", BUNDLE)); } Fault fault = new JBIFault(new org.apache.cxf.common.i18n.Message(JBIFault.JBI_FAULT_STRING, (ResourceBundle) null)); if (StaxUtils.toNextElement(reader)) { // handling detail Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement(); fault.setDetail(detail); } message.setContent(Exception.class, fault); } catch (XMLStreamException xse) { throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE)); } } }
public void handleMessage(NMRMessage message) throws Fault { XMLStreamReader xsr = message.getContent(XMLStreamReader.class); DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr); try { if (!StaxUtils.toNextElement(reader)) { throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEGAL_JBIFAULT_FORMAT", BUNDLE)); } Fault fault = new NMRFault(new org.apache.cxf.common.i18n.Message(NMRFault.NMR_FAULT_STRING, (ResourceBundle) null)); if (StaxUtils.toNextElement(reader)) { // handling detail Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement(); fault.setDetail(detail); } message.setContent(Exception.class, fault); } catch (XMLStreamException xse) { throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE)); } } }
public void handleMessage(Message message) throws Fault { XMLStreamReader xsr = message.getContent(XMLStreamReader.class); DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr); try { reader.nextTag(); if (!StaxUtils.toNextElement(reader)) { throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEGAL_XMLFAULT_FORMAT", BUNDLE)); } String exMessage = reader.getElementText(); Fault fault = new XMLFault(exMessage); reader.nextTag(); if (StaxUtils.toNextElement(reader)) { // handling detail Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement(); fault.setDetail(detail); } message.setContent(Exception.class, fault); } catch (XMLStreamException xse) { throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE)); } } }
public void handleMessage(Message message) throws Fault { XMLStreamReader xsr = message.getContent(XMLStreamReader.class); DepthXMLStreamReader reader = new DepthXMLStreamReader(xsr); try { reader.nextTag(); if (!StaxUtils.toNextElement(reader)) { throw new Fault(new org.apache.cxf.common.i18n.Message("ILLEGAL_XMLFAULT_FORMAT", BUNDLE)); } String exMessage = reader.getElementText(); Fault fault = new XMLFault(exMessage); reader.nextTag(); if (StaxUtils.toNextElement(reader)) { // handling detail Element detail = StaxUtils.read(new FragmentStreamReader(reader)).getDocumentElement(); fault.setDetail(detail); } message.setContent(Exception.class, fault); } catch (XMLStreamException xse) { throw new Fault(new org.apache.cxf.common.i18n.Message("STAX_READ_EXC", BUNDLE)); } } }