public class MessageFactoryImpl
extends javax.xml.soap.MessageFactory
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| Modifier and Type | Field and Description |
|---|---|
protected java.lang.String |
soapVersion |
| Constructor and Description |
|---|
MessageFactoryImpl() |
| Modifier and Type | Method and Description |
|---|---|
javax.xml.soap.SOAPMessage |
createMessage()
Creates a new
SOAPMessage object with the default SOAPPart,
SOAPEnvelope, SOAPBody, and SOAPHeader objects. |
javax.xml.soap.SOAPMessage |
createMessage(javax.xml.soap.MimeHeaders mimeheaders,
java.io.InputStream inputstream)
Internalizes the contents of the given
InputStream object into a new
SOAPMessage object and returns the SOAPMessage object. |
void |
setProcessMTOM(boolean processMTOM)
Specify whether MTOM messages should be processed or parsed literally.
|
void |
setSOAPVersion(java.lang.String soapVersion) |
public javax.xml.soap.SOAPMessage createMessage()
throws javax.xml.soap.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.
createMessage in class javax.xml.soap.MessageFactorySOAPMessage objectjavax.xml.soap.SOAPException - if a SOAP error occurs java.lang.UnsupportedOperationException - if the
protocol of this MessageFactory instance is DYNAMIC_SOAP_PROTOCOLpublic javax.xml.soap.SOAPMessage createMessage(javax.xml.soap.MimeHeaders mimeheaders,
java.io.InputStream inputstream)
throws java.io.IOException,
javax.xml.soap.SOAPException
InputStream object into a new
SOAPMessage object and returns the SOAPMessage object.createMessage in class javax.xml.soap.MessageFactorymimeheaders - 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 objectjava.io.IOException - if there is a problem in reading data from the input streamjavax.xml.soap.SOAPException - if the message is invalidpublic void setSOAPVersion(java.lang.String soapVersion)
public void setProcessMTOM(boolean processMTOM)
The way MTOM messages are handled fundamentally differs between Axiom and SAAJ.
While Axiom replaces xop:Include elements by DataHandler backed
OMText nodes, there is no such requirement in SAAJ. The only
requirement there is that SOAPMessage.getAttachment(javax.xml.soap.SOAPElement)
returns the relevant AttachmentPart when applied to an
xop:Include element.
This method allows to make this SAAJ implementation behave as Axiom, i.e. to substitute xop:Include elements.
processMTOM - whether xop:Include elements should be substitutedCopyright © 2004-2018 The Apache Software Foundation. All Rights Reserved.