public abstract class MessageFactory extends Object
SOAPMessage objects.
A SAAJ client can create a MessageFactory object
using the method newInstance, as shown in the following
lines of code.
MessageFactory mf = MessageFactory.newInstance();
MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
All MessageFactory objects, regardless of how they are
created, will produce SOAPMessage objects that
have the following elements by default:
SOAPPart object
SOAPEnvelope object
SOAPBody object
SOAPHeader object
SOAPHeader object and the
SOAPBody object.
The content of a new SOAPMessage object depends on which of the two
MessageFactory methods is used to create it.
createMessage() createMessage(MimeHeaders, java.io.InputStream) -- message has
content from the InputStream object and headers from the
MimeHeaders object | Constructor and Description |
|---|
MessageFactory() |
| Modifier and Type | Method and Description |
|---|---|
abstract SOAPMessage |
createMessage()
Creates a new
SOAPMessage object with the default
SOAPPart, SOAPEnvelope, SOAPBody,
and SOAPHeader objects. |
abstract SOAPMessage |
createMessage(MimeHeaders headers,
InputStream in)
Internalizes the contents of the given
InputStream object into a
new SOAPMessage object and returns the SOAPMessage
object. |
static MessageFactory |
newInstance()
Creates a new
MessageFactory object that is an instance
of the default implementation (SOAP 1.1),
This method uses the following ordered lookup procedure to determine the MessageFactory implementation class to load:
Use the javax.xml.soap.MessageFactory system property. |
static MessageFactory |
newInstance(String protocol)
Creates a new
MessageFactory object that is an instance
of the specified implementation. |
public static MessageFactory newInstance() throws SOAPException
MessageFactory object that is an instance
of the default implementation (SOAP 1.1),
This method uses the following ordered lookup procedure to determine the MessageFactory implementation class to load:
MessageFactorySOAPException - if there was an error in creating the
default implementation of the
MessageFactory.SAAJMetaFactorypublic static MessageFactory newInstance(String protocol) throws SOAPException
MessageFactory object that is an instance
of the specified implementation. May be a dynamic message factory,
a SOAP 1.1 message factory, or a SOAP 1.2 message factory. A dynamic
message factory creates messages based on the MIME headers specified
as arguments to the createMessage method.
This method uses the SAAJMetaFactory to locate the implementation class
and create the MessageFactory instance.protocol - a string constant representing the class of the
specified message 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.MessageFactorySOAPException - if there was an error in creating the
specified implementation of MessageFactory.SAAJMetaFactorypublic abstract SOAPMessage createMessage() throws SOAPException
SOAPMessage object with the default
SOAPPart, SOAPEnvelope, SOAPBody,
and SOAPHeader objects. Profile-specific message factories
can choose to prepopulate the SOAPMessage object with
profile-specific headers.
Content can be added to this message's SOAPPart object, and
the message can be sent "as is" when a message containing only a SOAP part
is sufficient. Otherwise, the SOAPMessage object needs
to create one or more AttachmentPart objects and
add them to itself. Any content that is not in XML format must be
in an AttachmentPart object.
SOAPMessage objectSOAPException - if a SOAP error occursUnsupportedOperationException - if the protocol of this
MessageFactory instance is DYNAMIC_SOAP_PROTOCOLpublic abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws IOException, SOAPException
InputStream object into a
new SOAPMessage object and returns the SOAPMessage
object.in - the InputStream object that contains the data
for a messageheaders - the transport-specific headers passed to the
message in a transport-independent fashion for creation of the
messageSOAPMessage object containing the data from
the given InputStream objectIOException - if there is a problem in reading data from
the input streamSOAPException - may be thrown if the message is invalidIllegalArgumentException - if the MessageFactory
requires one or more MIME headers to be present in the
headers parameter and they are missing.
MessageFactory implementations for
SOAP_1_1_PROTOCOL or
SOAP_1_2_PROTOCOL must not throw
IllegalArgumentException for this reason. 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, 2025, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.