public abstract class MessageFactory extends Object
A factory for creating SOAPMessage objects.
A JAXM client performs the following steps to create a message.
MessageFactory object from a ProviderConnection object (con in the
following line of code). The String passed to
the createMessageFactory method is the name of
of a messaging profile, which must be the URL for the
schema.
MessageFactory mf = con.createMessageFactory(schemaURL);
createMessage on the MessageFactory object. All messages produced by this
MessageFactory object will have the header
information appropriate for the messaging profile that was
specified when the MessageFactory object was
created.
SOAPMessage m = mf.createMessage();
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:
SOAPPart objectSOAPEnvelope objectSOAPBody objectSOAPHeader objectMessageFactory 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
contentcreateMessage(MimeHeaders,
java.io.InputStream) -- message has content from the
InputStream object and headers from the MimeHeaders object| Constructor and Description |
|---|
MessageFactory()
Create a new 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 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. |
public static MessageFactory newInstance() throws SOAPException
MessageFactory object that is
an instance of the default implementation.MessageFactory objectSOAPException - if there was an error in
creating the default implementation of the MessageFactorypublic 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 occurspublic abstract SOAPMessage createMessage(MimeHeaders mimeheaders, InputStream inputstream) throws IOException, SOAPException
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 messageSOAPMessage object containing the
data from the given InputStream objectIOException - if there is a
problem in reading data from the input streamSOAPException - if the message is invalid