private SOAPFaultException createSOAPFaultException() { try { String namespace = "http://example.com/auctiontraq/schemas/doclit"; SOAPFactory soapFactory = SOAPFactory.newInstance(); Name name = soapFactory.createName("MySOAPFault", "ns0", namespace); Detail detail = soapFactory.createDetail(); DetailEntry entry = detail.addDetailEntry(name); entry.addNamespaceDeclaration("data", namespace); Name attrName1 = soapFactory.createName("myAttr", "data", namespace); entry.addAttribute(attrName1, "myvalue"); SOAPElement child = entry.addChildElement("message"); child.addTextNode("Server Exception"); Name name2 = soapFactory.createName("ExtraInformation", "ns0", namespace); DetailEntry entry2 = detail.addDetailEntry(name2); SOAPElement child2 = entry2.addChildElement("Reason"); child2.addTextNode("Address Not Found"); QName qname = new QName("http://schemas.xmlsoap.org/soap/envelope/", "server"); SOAPFault sf = soapFactory.createFault("SOAP Fault Exception:Address Not Found", qname); org.w3c.dom.Node n = sf.getOwnerDocument().importNode(detail, true); sf.appendChild(n); return new SOAPFaultException(sf); // printDetail(detail); // return new SOAPFaultException(qname, // "SOAP Fault Exception:Address Not Found", null, detail); } catch (SOAPException e) { e.printStackTrace(); // QName qname = new QName("http://schemas.xmlsoap.org/soap/envelope/", "client"); throw new WebServiceException("Exception While Creating SOAP Fault Exception", e); } }
/** * @param authHeader * @param qnameAuthHeader * @param soapHeader * @return SOAPHeaderElement */ private SOAPHeaderElement ProcessAuthHeader( AuthHeader authHeader, QName qnameAuthHeader, SOAPHeader soapHeader) { SOAPHeaderElement headerElement; try { /* * Create the authentication header element */ headerElement = soapHeader.addHeaderElement(qnameAuthHeader); /* * Check if Identifier is specified */ if (authHeader.getIdentifier() != null) { /* * Create Identifier element */ QName qName = new QName( qnameAuthHeader.getNamespaceURI(), AuthHeader.STR_Identifier, qnameAuthHeader.getPrefix()); SOAPElement element = soapFactory.createElement(qName); element.addTextNode(authHeader.getIdentifier()); headerElement.addChildElement(element); } /* * Check if PassKey is specified */ if (authHeader.getPasskey() != null) { /* * Create PassKey element */ QName qName = new QName( qnameAuthHeader.getNamespaceURI(), AuthHeader.STR_Passkey, qnameAuthHeader.getPrefix()); SOAPElement element = soapFactory.createElement(qName); element.addTextNode(authHeader.getPasskey()); headerElement.addChildElement(element); } } catch (SOAPException ex) { headerElement = null; } return headerElement; }