Class SOAPFactory

java.lang.Object
jakarta.xml.soap.SOAPFactory
Direct Known Subclasses:
SOAPFactoryImpl

public abstract class SOAPFactory extends Object
SOAPFactory is a factory for creating various objects that exist in the SOAP XML tree.

SOAPFactory can be used to create XML fragments that will eventually end up in the SOAP part. These fragments can be inserted as children of the SOAPHeaderElement or SOAPBodyElement or SOAPEnvelope or other SOAPElement objects.

SOAPFactory also has methods to create jakarta.xml.soap.Detail objects as well as java.xml.soap.Name objects.

Since:
1.6
  • Constructor Details

    • SOAPFactory

      protected SOAPFactory()
      Default constructor.
  • Method Details

    • createElement

      public SOAPElement createElement(Element domElement) throws SOAPException
      Creates a SOAPElement object from an existing DOM Element. If the DOM Element that is passed in as an argument is already a SOAPElement then this method must return it unmodified without any further work. Otherwise, a new SOAPElement is created and a deep copy is made of the domElement argument. The concrete type of the return value will depend on the name of the domElement argument. If any part of the tree rooted in domElement violates SOAP rules, a SOAPException will be thrown.
      Parameters:
      domElement - the Element to be copied.
      Returns:
      a new SOAPElement that is a copy of domElement.
      Throws:
      SOAPException - if there is an error in creating the SOAPElement object
      Since:
      1.6, SAAJ 1.3
    • createElement

      public abstract SOAPElement createElement(Name name) throws SOAPException
      Creates a SOAPElement object initialized with the given Name object. The concrete type of the return value will depend on the name given to the new SOAPElement. For instance, a new SOAPElement with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause a SOAPEnvelope that supports SOAP 1.2 behavior to be created.
      Parameters:
      name - a Name object with the XML name for the new element
      Returns:
      the new SOAPElement object that was created
      Throws:
      SOAPException - if there is an error in creating the SOAPElement object
      See Also:
    • createElement

      public SOAPElement createElement(QName qname) throws SOAPException
      Creates a SOAPElement object initialized with the given QName object. The concrete type of the return value will depend on the name given to the new SOAPElement. For instance, a new SOAPElement with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause a SOAPEnvelope that supports SOAP 1.2 behavior to be created.
      Parameters:
      qname - a QName object with the XML name for the new element
      Returns:
      the new SOAPElement object that was created
      Throws:
      SOAPException - if there is an error in creating the SOAPElement object
      Since:
      1.6, SAAJ 1.3
      See Also:
    • createElement

      public abstract SOAPElement createElement(String localName) throws SOAPException
      Creates a SOAPElement object initialized with the given local name.
      Parameters:
      localName - a String giving the local name for the new element
      Returns:
      the new SOAPElement object that was created
      Throws:
      SOAPException - if there is an error in creating the SOAPElement object
    • createElement

      public abstract SOAPElement createElement(String localName, String prefix, String uri) throws SOAPException
      Creates a new SOAPElement object with the given local name, prefix and uri. The concrete type of the return value will depend on the name given to the new SOAPElement. For instance, a new SOAPElement with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause a SOAPEnvelope that supports SOAP 1.2 behavior to be created.
      Parameters:
      localName - a String giving the local name for the new element
      prefix - the prefix for this SOAPElement
      uri - a String giving the URI of the namespace to which the new element belongs
      Returns:
      the new SOAPElement object that was created
      Throws:
      SOAPException - if there is an error in creating the SOAPElement object
    • createDetail

      public abstract Detail createDetail() throws SOAPException
      Creates a new Detail object which serves as a container for DetailEntry objects.

      This factory method creates Detail objects for use in situations where it is not practical to use the SOAPFault abstraction.

      Returns:
      a Detail object
      Throws:
      SOAPException - if there is a SOAP error
      UnsupportedOperationException - if the protocol specified for the SOAPFactory was DYNAMIC_SOAP_PROTOCOL
    • createFault

      public abstract SOAPFault createFault(String reasonText, QName faultCode) throws SOAPException
      Creates a new SOAPFault object initialized with the given reasonText and faultCode
      Parameters:
      reasonText - the ReasonText/FaultString for the fault
      faultCode - the FaultCode for the fault
      Returns:
      a SOAPFault object
      Throws:
      SOAPException - if there is a SOAP error
      IllegalArgumentException - if reasonText or faultCode is null
      Since:
      1.6, SAAJ 1.3
    • createFault

      public abstract SOAPFault createFault() throws SOAPException
      Creates a new default SOAPFault object
      Returns:
      a SOAPFault object
      Throws:
      SOAPException - if there is a SOAP error
      Since:
      1.6, SAAJ 1.3
    • createName

      public abstract Name createName(String localName, String prefix, String uri) throws SOAPException
      Creates a new Name object initialized with the given local name, namespace prefix, and namespace URI.

      This factory method creates Name objects for use in situations where it is not practical to use the SOAPEnvelope abstraction.

      Parameters:
      localName - a String giving the local name
      prefix - a String giving the prefix of the namespace
      uri - a String giving the URI of the namespace
      Returns:
      a Name object initialized with the given local name, namespace prefix, and namespace URI
      Throws:
      SOAPException - if there is a SOAP error
    • createName

      public abstract Name createName(String localName) throws SOAPException
      Creates a new Name object initialized with the given local name.

      This factory method creates Name objects for use in situations where it is not practical to use the SOAPEnvelope abstraction.

      Parameters:
      localName - a String giving the local name
      Returns:
      a Name object initialized with the given local name
      Throws:
      SOAPException - if there is a SOAP error
    • newInstance

      public static SOAPFactory newInstance() throws SOAPException
      Creates a new SOAPFactory object that is an instance of the default implementation (SOAP 1.1). This method uses the lookup procedure specified in jakarta.xml.soap to locate and load the SOAPFactory class.
      Returns:
      a new instance of a SOAPFactory
      Throws:
      SOAPException - if there was an error creating the default SOAPFactory
      See Also:
    • newInstance

      public static SOAPFactory newInstance(String protocol) throws SOAPException
      Creates a new SOAPFactory object that is an instance of the specified implementation, this method uses the SAAJMetaFactory to locate the implementation class and create the SOAPFactory instance.
      Parameters:
      protocol - a string constant representing the protocol of the specified SOAP factory implementation. May be either DYNAMIC_SOAP_PROTOCOL, DEFAULT_SOAP_PROTOCOL (which is the same as) SOAP_1_1_PROTOCOL, or SOAP_1_2_PROTOCOL.
      Returns:
      a new instance of a SOAPFactory
      Throws:
      SOAPException - if there was an error creating the specified SOAPFactory
      Since:
      1.6, SAAJ 1.3
      See Also: