javax.xml.soap
Class MessageFactory
java.lang.Object
|
+--javax.xml.soap.MessageFactory
- public abstract class MessageFactory
- extends java.lang.Object
A factory for creating SOAPMessage
objects.
A JAXM client performs the following steps to create a message.
It is also possible to create a MessageFactory
object
using the method newInstance
, as shown in the following
line of code.
MessageFactory mf = MessageFactory.newInstance();
A standalone client (a client that is not running in a container)
can use the newInstance
method to create a
MessageFactory
object.
All MessageFactory
objects, regardless of how they are
created, will produce SOAPMessage
objects that
have the following elements by default:
- A
SOAPPart
object
- A
SOAPEnvelope
object
- A
SOAPBody
object
- A
SOAPHeader
object
If a MessageFactory
object was created using a ProviderConnection
object, which
means that it was initialized with a specified profile, it
will produce messages that also come prepopulated with
additional entries in the 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()
-- message has no content
This is the method clients would normally use to create a request message.
createMessage(MimeHeaders, java.io.InputStream)
-- message has
content from the InputStream
object and headers from the
MimeHeaders
object
This method can be used internally by a service implementation to
create a message that is a response to a request.
Method Summary |
abstract SOAPMessage |
createMessage()
Creates a new SOAPMessage object with the default
SOAPPart , SOAPEnvelope , SOAPBody ,
and SOAPHeader objects. |
abstract SOAPMessage |
createMessage(MimeHeaders headers,
java.io.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. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MessageFactory
public MessageFactory()
newInstance
public static MessageFactory newInstance()
throws SOAPException
- Creates a new
MessageFactory
object that is an instance
of the default implementation.
- Throws:
SOAPException
- if there was an error in creating the
default implementation of the
MessageFactory
.
createMessage
public abstract SOAPMessage createMessage()
throws SOAPException
- Creates a new
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.
- Returns:
- a new
SOAPMessage
object - Throws:
SOAPException
- if a SOAP error occurs
createMessage
public abstract SOAPMessage createMessage(MimeHeaders headers,
java.io.InputStream in)
throws java.io.IOException,
SOAPException
- Internalizes the contents of the given
InputStream
object into a
new SOAPMessage
object and returns the SOAPMessage
object.
- Parameters:
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
message- Returns:
- a new
SOAPMessage
object containing the data from
the given InputStream
object - Throws:
java.io.IOException
- if there is a problem in reading data from
the input streamSOAPException
- if the message is invalid