Class SOAPFactory
- java.lang.Object
-
- javax.xml.soap.SOAPFactory
-
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 theSOAPHeaderElement
orSOAPBodyElement
orSOAPEnvelope
or otherSOAPElement
objects.SOAPFactory
also has methods to createjavax.xml.soap.Detail
objects as well asjava.xml.soap.Name
objects.
-
-
Constructor Summary
Constructors Constructor and Description SOAPFactory()
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method and Description abstract Detail
createDetail()
Creates a newDetail
object which serves as a container forDetailEntry
objects.SOAPElement
createElement(Element domElement)
Creates aSOAPElement
object from an existing DOMElement
.abstract SOAPElement
createElement(Name name)
Creates aSOAPElement
object initialized with the givenName
object.SOAPElement
createElement(QName qname)
Creates aSOAPElement
object initialized with the givenQName
object.abstract SOAPElement
createElement(String localName)
Creates aSOAPElement
object initialized with the given local name.abstract SOAPElement
createElement(String localName, String prefix, String uri)
Creates a newSOAPElement
object with the given local name, prefix and uri.abstract SOAPFault
createFault()
Creates a new defaultSOAPFault
objectabstract SOAPFault
createFault(String reasonText, QName faultCode)
Creates a newSOAPFault
object initialized with the givenreasonText
andfaultCode
abstract Name
createName(String localName)
Creates a newName
object initialized with the given local name.abstract Name
createName(String localName, String prefix, String uri)
Creates a newName
object initialized with the given local name, namespace prefix, and namespace URI.static SOAPFactory
newInstance()
Creates a newSOAPFactory
object that is an instance of the default implementation (SOAP 1.1), This method uses the following ordered lookup procedure to determine the SOAPFactory implementation class to load: Use the javax.xml.soap.SOAPFactory system property.static SOAPFactory
newInstance(String protocol)
Creates a newSOAPFactory
object that is an instance of the specified implementation, this method uses the SAAJMetaFactory to locate the implementation class and create the SOAPFactory instance.
-
-
-
Method Detail
createElement
public SOAPElement createElement(Element domElement) throws SOAPException
Creates aSOAPElement
object from an existing DOMElement
. If the DOMElement
that is passed in as an argument is already aSOAPElement
then this method must return it unmodified without any further work. Otherwise, a newSOAPElement
is created and a deep copy is made of thedomElement
argument. The concrete type of the return value will depend on the name of thedomElement
argument. If any part of the tree rooted indomElement
violates SOAP rules, aSOAPException
will be thrown.- Parameters:
-
domElement
- - theElement
to be copied. - Returns:
-
a new
SOAPElement
that is a copy ofdomElement
. - Throws:
-
SOAPException
- if there is an error in creating theSOAPElement
object - Since:
- SAAJ 1.3
createElement
public abstract SOAPElement createElement(Name name) throws SOAPException
Creates aSOAPElement
object initialized with the givenName
object. The concrete type of the return value will depend on the name given to the newSOAPElement
. For instance, a newSOAPElement
with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause aSOAPEnvelope
that supports SOAP 1.2 behavior to be created.- Parameters:
-
name
- aName
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 theSOAPElement
object - See Also:
-
createElement(javax.xml.namespace.QName)
createElement
public SOAPElement createElement(QName qname) throws SOAPException
Creates aSOAPElement
object initialized with the givenQName
object. The concrete type of the return value will depend on the name given to the newSOAPElement
. For instance, a newSOAPElement
with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause aSOAPEnvelope
that supports SOAP 1.2 behavior to be created.- Parameters:
-
qname
- aQName
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 theSOAPElement
object - Since:
- SAAJ 1.3
- See Also:
-
createElement(Name)
createElement
public abstract SOAPElement createElement(String localName) throws SOAPException
Creates aSOAPElement
object initialized with the given local name.- Parameters:
-
localName
- aString
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 theSOAPElement
object
createElement
public abstract SOAPElement createElement(String localName, String prefix, String uri) throws SOAPException
Creates a newSOAPElement
object with the given local name, prefix and uri. The concrete type of the return value will depend on the name given to the newSOAPElement
. For instance, a newSOAPElement
with the name "{http://www.w3.org/2003/05/soap-envelope}Envelope" would cause aSOAPEnvelope
that supports SOAP 1.2 behavior to be created.- Parameters:
-
localName
- aString
giving the local name for the new element -
prefix
- the prefix for thisSOAPElement
-
uri
- aString
giving the URI of the namespace to which the new element belongs - Throws:
-
SOAPException
- if there is an error in creating theSOAPElement
object
createDetail
public abstract Detail createDetail() throws SOAPException
Creates a newDetail
object which serves as a container forDetailEntry
objects.This factory method creates
Detail
objects for use in situations where it is not practical to use theSOAPFault
abstraction.- Returns:
-
a
Detail
object - Throws:
-
SOAPException
- if there is a SOAP error -
UnsupportedOperationException
- if the protocol specified for the SOAPFactory wasDYNAMIC_SOAP_PROTOCOL
createFault
public abstract SOAPFault createFault(String reasonText, QName faultCode) throws SOAPException
Creates a newSOAPFault
object initialized with the givenreasonText
andfaultCode
- 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 - Since:
- SAAJ 1.3
createFault
public abstract SOAPFault createFault() throws SOAPException
Creates a new defaultSOAPFault
object- Returns:
-
a
SOAPFault
object - Throws:
-
SOAPException
- if there is a SOAP error - Since:
- SAAJ 1.3
createName
public abstract Name createName(String localName, String prefix, String uri) throws SOAPException
Creates a newName
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 theSOAPEnvelope
abstraction.- Parameters:
-
localName
- aString
giving the local name -
prefix
- aString
giving the prefix of the namespace -
uri
- aString
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 newName
object initialized with the given local name.This factory method creates
Name
objects for use in situations where it is not practical to use theSOAPEnvelope
abstraction.- Parameters:
-
localName
- aString
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 newSOAPFactory
object that is an instance of the default implementation (SOAP 1.1), This method uses the following ordered lookup procedure to determine the SOAPFactory implementation class to load:- Use the javax.xml.soap.SOAPFactory system property.
- Use the properties file "lib/jaxm.properties" in the JRE directory. This configuration file is in standard java.util.Properties format and contains the fully qualified name of the implementation class with the key being the system property defined above.
- Use the Services API (as detailed in the JAR specification), if available, to determine the classname. The Services API will look for a classname in the file META-INF/services/javax.xml.soap.SOAPFactory in jars available to the runtime.
- Use the SAAJMetaFactory instance to locate the SOAPFactory implementation class.
- Returns:
-
a new instance of a
SOAPFactory
- Throws:
-
SOAPException
- if there was an error creating the defaultSOAPFactory
- See Also:
-
SAAJMetaFactory
newInstance
public static SOAPFactory newInstance(String protocol) throws SOAPException
Creates a newSOAPFactory
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 eitherDYNAMIC_SOAP_PROTOCOL
,DEFAULT_SOAP_PROTOCOL
(which is the same as)SOAP_1_1_PROTOCOL
, orSOAP_1_2_PROTOCOL
. - Returns:
-
a new instance of a
SOAPFactory
- Throws:
-
SOAPException
- if there was an error creating the specifiedSOAPFactory
- Since:
- SAAJ 1.3
- See Also:
-
SAAJMetaFactory
-
Submit a bug or feature
For further API reference and developer documentation, see Java SE Documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
Copyright © 1993, 2022, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.