/** Adds a fault detail for the given fault. */ @Override public Detail addFaultDetail(SOAPFault fault) throws SOAPException { return fault.addDetail(); }
@Override public Detail addFaultDetail(SOAPFault fault) throws SOAPException { return fault.addDetail(); }
@Override public Detail addFaultDetail(SOAPFault fault) throws SOAPException { return fault.addDetail(); }
true); nd = nd.getFirstChild(); soapFault.addDetail(); while (nd != null) { Node next = nd.getNextSibling();
true); nd = nd.getFirstChild(); soapFault.addDetail(); while (nd != null) { soapFault.getDetail().appendChild(nd); SAAJUtils.setFaultCode(soapFault, sf.getFaultCode()); if (sf.hasDetails()) { soapFault.addDetail(); Node nd = soapMessage.getSOAPPart().importNode(sf.getDetail(), true); nd = nd.getFirstChild();
private static void setFaultDetail(SOAPFault fault, Throwable cause) { try { //Add Detail element to the fault. Detail detail = fault.addDetail(); QName name = new QName("https://xwss.dev.java.net", "FaultDetail", "xwssfault"); DetailEntry entry = detail.addDetailEntry(name); String exception = "Cause Not Set"; if (cause != null) { ByteArrayOutputStream bos = new ByteArrayOutputStream(); PrintWriter s = new PrintWriter(bos); cause.printStackTrace(s); s.flush(); exception = bos.toString(); } entry.addTextNode(exception); } catch (SOAPException ex) { //ignore for now } } }
/** * Generates a SOAP 1.1 or 1.2 Fault based on binding id and Exception passed. * * @param th The Exception * @param bindingId SOAPBinding type * @param detail Fault detail QName * @return The SOAP Fault * @throws SOAPException If the Fault could not be generated */ public static SOAPFault createFault(final Throwable th, final String bindingId, final QName detail) throws SOAPException { SOAPFault fault = null; if (bindingId.equals(SOAPBinding.SOAP12HTTP_BINDING) || bindingId.equals(SOAPBinding.SOAP12HTTP_MTOM_BINDING)) { fault = createSOAP12Fault(th); } else { fault = createSOAP11Fault(th); } if (detail != null) { fault.addDetail().addDetailEntry(detail); } return fault; }
@Override public SoapFaultDetail addFaultDetail() { try { Detail saajDetail = getSaajFault().addDetail(); return new SaajSoapFaultDetail(saajDetail); } catch (SOAPException ex) { throw new SaajSoapFaultException(ex); } } }
//Build the SOAP Fault Response MessageFactory factory = MessageFactory.newInstance(SOAPConstants.SOAP_1_1_PROTOCOL); SOAPMessage response = factory.createMessage(); SOAPFault fault = response.getSOAPBody().addFault(); fault.setFaultString(myCustomErrorString); fault.addDetail().addChildElement("exception").addTextNode(myCustomErrorId);
@Override public SoapFaultDetail addFaultDetail() { try { Detail saajDetail = getSaajFault().addDetail(); return new SaajSoapFaultDetail(saajDetail); } catch (SOAPException ex) { throw new SaajSoapFaultException(ex); } } }
@Override public SoapFaultDetail addFaultDetail() { try { Detail saajDetail = getSaajFault().addDetail(); return new SaajSoapFaultDetail(saajDetail); } catch (SOAPException ex) { throw new SaajSoapFaultException(ex); } } }
protected Throwable getProtocolException() { try { SOAPFault fault = SOAPVersion.SOAP_11.getSOAPFactory().createFault(faultstring, faultcode); fault.setFaultActor(faultactor); if(detail != null){ Detail d = fault.addDetail(); for(Element det : detail.getDetails()){ Node n = fault.getOwnerDocument().importNode(det, true); d.appendChild(n); } } return new ServerSOAPFaultException(fault); } catch (SOAPException e) { throw new WebServiceException(e); } } }
protected Throwable getProtocolException() { try { SOAPFault fault = SOAPVersion.SOAP_11.getSOAPFactory().createFault(faultstring, faultcode); fault.setFaultActor(faultactor); if(detail != null){ Detail d = fault.addDetail(); for(Element det : detail.getDetails()){ Node n = fault.getOwnerDocument().importNode(det, true); d.appendChild(n); } } return new ServerSOAPFaultException(fault); } catch (SOAPException e) { throw new WebServiceException(e); } } }
protected Throwable getProtocolException() { try { SOAPFault fault = SOAPVersion.SOAP_11.getSOAPFactory().createFault(faultstring, faultcode); fault.setFaultActor(faultactor); if(detail != null){ Detail d = fault.addDetail(); for(Element det : detail.getDetails()){ Node n = fault.getOwnerDocument().importNode(det, true); d.appendChild(n); } } return new ServerSOAPFaultException(fault); } catch (SOAPException e) { throw new WebServiceException(e); } } }
/** * Creates a SOAPFault element from SOS internal fault * * @param fault SOAPFault element * @param soapFault SOS internal fault * * @throws SOAPException if an error occurs. */ protected void createSOAPFault(SOAPFault fault, SoapFault soapFault) throws SOAPException { fault.setFaultCode(soapFault.getFaultCode()); fault.setFaultString(soapFault.getFaultReason(), soapFault.getLocale()); if (soapFault.getDetailText() != null) { fault.addDetail().setTextContent(soapFault.getDetailText()); } }
/** * Creates a SOAPFault element from SOS internal fault * * @param fault * SOAPFault element * @param soapFault * SOS internal fault * * @throws SOAPException * if an error occurs. */ protected void createSOAPFault(SOAPFault fault, SoapFault soapFault) throws SOAPException { fault.setFaultCode(soapFault.getFaultCode()); fault.setFaultString(soapFault.getFaultReason(), soapFault.getLocale()); if (soapFault.getDetailText() != null) { fault.addDetail().setTextContent(soapFault.getDetailText()); } }
private SOAPFaultException createSOAPFaultExceptionWithDetail(String faultString) throws SOAPException { SOAPFault fault = SOAPFactory.newInstance().createFault(); QName faultName = new QName(SOAPConstants.URI_NS_SOAP_ENVELOPE, "Server"); SAAJUtils.setFaultCode(fault, faultName); fault.setFaultActor("http://gizmos.com/orders"); fault.setFaultString(faultString); Detail detail = fault.addDetail(); QName entryName = new QName("http://gizmos.com/orders/", "order", "PO"); DetailEntry entry = detail.addDetailEntry(entryName); entry.addTextNode("Quantity element does not have a value"); QName entryName2 = new QName("http://gizmos.com/orders/", "order", "PO"); DetailEntry entry2 = detail.addDetailEntry(entryName2); entry2.addTextNode("Incomplete address: no zip code"); return new SOAPFaultException(fault); }
public GreetMeResponse greetMe(GreetMeRequest gmr) { if ("fault".equals(gmr.getName())) { try { SOAPFactory factory = SOAPFactory.newInstance(); SOAPFault fault = factory.createFault("this is a fault string!", new QName("http://foo", "FooCode")); fault.setFaultActor("mr.actor"); fault.addDetail().addChildElement("test").addTextNode("TestText"); throw new SOAPFaultException(fault); } catch (SOAPException ex) { throw new WebServiceException(ex); } } else if ("emptyfault".equals(gmr.getName())) { throw new RuntimeException("Empty!"); } GreetMeResponse resp = new GreetMeResponse(); resp.setName(gmr.getName()); return resp; }
public SOAPFault newMapRequiredFault(MissingAddressingHeaderException e) { QName subcode = addVer.mapRequiredTag; QName subsubcode = addVer.mapRequiredTag; String faultstring = addVer.getMapRequiredText(); try { SOAPFactory factory; SOAPFault fault; if (soapVer == SOAPVersion.SOAP_12) { factory = SOAPVersion.SOAP_12.getSOAPFactory(); fault = factory.createFault(); fault.setFaultCode(SOAPConstants.SOAP_SENDER_FAULT); fault.appendFaultSubcode(subcode); fault.appendFaultSubcode(subsubcode); getMapRequiredDetail(e.getMissingHeaderQName(), fault.addDetail()); } else { factory = SOAPVersion.SOAP_11.getSOAPFactory(); fault = factory.createFault(); fault.setFaultCode(subsubcode); } fault.setFaultString(faultstring); return fault; } catch (SOAPException se) { throw new WebServiceException(se); } }