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:
MessageFactory
SOAPException
- if there was an error in creating the
default implementation of the
MessageFactory
.SAAJMetaFactory
public 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
.MessageFactory
SOAPException
- if there was an error in creating the
specified implementation of MessageFactory
.SAAJMetaFactory
public 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_PROTOCOL
public 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, 2023, Oracle and/or its affiliates. All rights reserved. Use is subject to license terms. Also see the documentation redistribution policy.