- java.lang.Object
- 
- javax.xml.soap.MessageFactory
 
- 
 
 public abstract class MessageFactory extends Object A factory for creatingSOAPMessageobjects.A SAAJ client can create a MessageFactoryobject using the methodnewInstance, as shown in the following lines of code.MessageFactory mf = MessageFactory.newInstance(); MessageFactory mf12 = MessageFactory.newInstance(SOAPConstants.SOAP_1_2_PROTOCOL);All MessageFactoryobjects, regardless of how they are created, will produceSOAPMessageobjects that have the following elements by default:- A SOAPPartobject
- A SOAPEnvelopeobject
- A SOAPBodyobject
- A SOAPHeaderobject
 SOAPHeaderobject and theSOAPBodyobject. The content of a newSOAPMessageobject depends on which of the twoMessageFactorymethods 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 the- InputStreamobject and headers from the- MimeHeadersobject
 This method can be used internally by a service implementation to create a message that is a response to a request.
 - Since:
- 1.6
 
- A 
- 
- 
Constructor SummaryConstructors Constructor Description MessageFactory()
 - 
Method SummaryAll Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract SOAPMessagecreateMessage()Creates 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 MessageFactorynewInstance()Creates 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.
 
- 
- 
- 
Method Detail- 
newInstancepublic static MessageFactory newInstance() throws SOAPException Creates a newMessageFactoryobject that is an instance of the default implementation (SOAP 1.1). This method uses the lookup procedure specified injavax.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 the- MessageFactory.
- See Also:
- SAAJMetaFactory
 
 - 
newInstancepublic static MessageFactory newInstance(String protocol) throws SOAPException 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 either- DYNAMIC_SOAP_PROTOCOL,- DEFAULT_SOAP_PROTOCOL(which is the same as)- SOAP_1_1_PROTOCOL, or- SOAP_1_2_PROTOCOL.
- Returns:
- a new instance of a MessageFactory
- Throws:
- SOAPException- if there was an error in creating the specified implementation of- MessageFactory.
- Since:
- 1.6, SAAJ 1.3
- See Also:
- SAAJMetaFactory
 
 - 
createMessagepublic abstract SOAPMessage createMessage() throws SOAPException 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 occurs
- UnsupportedOperationException- if the protocol of this- MessageFactoryinstance is- DYNAMIC_SOAP_PROTOCOL
 
 - 
createMessagepublic abstract SOAPMessage createMessage(MimeHeaders headers, InputStream in) throws IOException, SOAPException Internalizes the contents of the givenInputStreamobject into a newSOAPMessageobject and returns theSOAPMessageobject.- Parameters:
- in- the- InputStreamobject that contains the data for a message
- headers- the transport-specific headers passed to the message in a transport-independent fashion for creation of the message
- Returns:
- a new SOAPMessageobject containing the data from the givenInputStreamobject
- Throws:
- IOException- if there is a problem in reading data from the input stream
- SOAPException- may be thrown if the message is invalid
- IllegalArgumentException- if the- MessageFactoryrequires one or more MIME headers to be present in the- headersparameter and they are missing.- MessageFactoryimplementations for- SOAP_1_1_PROTOCOLor- SOAP_1_2_PROTOCOLmust not throw- IllegalArgumentExceptionfor this reason.
 
 
- 
 
-