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