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.
abstract SOAPMessage | createMessage() - Creates a new
SOAPMessage object with the
default SOAPPart , SOAPEnvelope ,
SOAPBody , and SOAPHeader objects.
|
abstract SOAPMessage | createMessage(MimeHeaders mimeheaders, InputStream inputstream) - 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.
|
MessageFactory
public MessageFactory()
Create a new 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.
createMessage
public abstract SOAPMessage createMessage(MimeHeaders mimeheaders,
InputStream inputstream)
throws IOException,
SOAPException
Internalizes the contents of the given
InputStream
object into a new SOAPMessage
object and returns the SOAPMessage
object.
mimeheaders
- the transport-specific headers
passed to the message in a transport-independent fashion
for creation of the messageinputstream
- the InputStream
object
that contains the data for a message
- a new
SOAPMessage
object containing the
data from the given InputStream
object
newInstance
public static MessageFactory newInstance()
throws SOAPException
Creates a new MessageFactory
object that is
an instance of the default implementation.
- a new
MessageFactory
object
SOAPException
- if there was an error in
creating the default implementation of the
MessageFactory
Copyright B) 2005 Apache Web Services Project. All Rights Reserved.