Пример #1
0
  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;
  }