Package jakarta.xml.soap
Class MessageFactory
java.lang.Object
jakarta.xml.soap.MessageFactory
A factory for creating 
SOAPMessage objects.
 
 A SAAJ client can create a MessageFactory object
 using the method newInstance, as shown in the following
 lines of code.
 
       MessageFactory mf = MessageFactory.newInstance();
       MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);
 
 
 All MessageFactory objects, regardless of how they are
 created, will produce SOAPMessage objects that
 have the following elements by default:
 
- A 
SOAPPartobject - A 
SOAPEnvelopeobject - A 
SOAPBodyobject - A 
SOAPHeaderobject 
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()
This is the method clients would normally use to create a request message.createMessage(MimeHeaders, java.io.InputStream)-- message has content from theInputStreamobject and headers from theMimeHeadersobject
This method can be used internally by a service implementation to create a message that is a response to a request.
- Since:
 - 1.6
 
- 
Constructor Summary
Constructors - 
Method Summary
Modifier and TypeMethodDescriptionabstract SOAPMessageCreates a newSOAPMessageobject with the defaultSOAPPart,SOAPEnvelope,SOAPBody, andSOAPHeaderobjects.abstract SOAPMessagecreateMessage(MimeHeaders headers, InputStream in) Internalizes the contents of the givenInputStreamobject into a newSOAPMessageobject and returns theSOAPMessageobject.static MessageFactoryCreates a newMessageFactoryobject that is an instance of the default implementation (SOAP 1.1).static MessageFactorynewInstance(String protocol) Creates a newMessageFactoryobject that is an instance of the specified implementation. 
- 
Constructor Details
- 
MessageFactory
protected MessageFactory()Default constructor. 
 - 
 - 
Method Details
- 
newInstance
Creates a newMessageFactoryobject that is an instance of the default implementation (SOAP 1.1). This method uses the lookup procedure specified injakarta.xml.soapto locate and load theMessageFactoryclass.- Returns:
 - a new instance of a 
MessageFactory - Throws:
 SOAPException- if there was an error in creating the default implementation of theMessageFactory.- See Also:
 
 - 
newInstance
Creates a newMessageFactoryobject that is an instance of the specified implementation. May be a dynamic message factory, a SOAP 1.1 message factory, or a SOAP 1.2 message factory. A dynamic message factory creates messages based on the MIME headers specified as arguments to thecreateMessagemethod. This method uses the SAAJMetaFactory to locate the implementation class and create the MessageFactory instance.- Parameters:
 protocol- a string constant representing the class of the specified message factory implementation. May be eitherDYNAMIC_SOAP_PROTOCOL,DEFAULT_SOAP_PROTOCOL(which is the same as)SOAP_1_1_PROTOCOL, orSOAP_1_2_PROTOCOL.- Returns:
 - a new instance of a 
MessageFactory - Throws:
 SOAPException- if there was an error in creating the specified implementation ofMessageFactory.- Since:
 - 1.6, SAAJ 1.3
 - See Also:
 
 - 
createMessage
Creates a newSOAPMessageobject with the defaultSOAPPart,SOAPEnvelope,SOAPBody, andSOAPHeaderobjects. Profile-specific message factories can choose to prepopulate theSOAPMessageobject with profile-specific headers.Content can be added to this message's
SOAPPartobject, and the message can be sent "as is" when a message containing only a SOAP part is sufficient. Otherwise, theSOAPMessageobject needs to create one or moreAttachmentPartobjects and add them to itself. Any content that is not in XML format must be in anAttachmentPartobject.- Returns:
 - a new 
SOAPMessageobject - Throws:
 SOAPException- if a SOAP error occursUnsupportedOperationException- if the protocol of thisMessageFactoryinstance isDYNAMIC_SOAP_PROTOCOL
 - 
createMessage
public abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws IOException, SOAPException Internalizes the contents of the givenInputStreamobject into a newSOAPMessageobject and returns theSOAPMessageobject.- Parameters:
 headers- the transport-specific headers passed to the message in a transport-independent fashion for creation of the messagein- theInputStreamobject that contains the data for a message- Returns:
 - a new 
SOAPMessageobject containing the data from the givenInputStreamobject - Throws:
 IOException- if there is a problem in reading data from the input streamSOAPException- may be thrown if the message is invalidIllegalArgumentException- if theMessageFactoryrequires one or more MIME headers to be present in theheadersparameter and they are missing.MessageFactoryimplementations forSOAP_1_1_PROTOCOLorSOAP_1_2_PROTOCOLmust not throwIllegalArgumentExceptionfor this reason.
 
 -