org.apache.xmlbeans.impl.soap
Class MessageFactory

java.lang.Object
  extended by org.apache.xmlbeans.impl.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:

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.


Constructor Summary
MessageFactory()
          Create a new MessageFactory.
 
Method Summary
abstract  SOAPMessage createMessage()
          Creates a new SOAPMessage object with the default SOAPPart, SOAPEnvelope, SOAPBody, and SOAPHeader objects.
abstract  SOAPMessage createMessage(MimeHeaders mimeheaders, java.io.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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

MessageFactory

public MessageFactory()
Create a new MessageFactory.

Method Detail

newInstance

public static MessageFactory newInstance()
                                  throws SOAPException
Creates a new MessageFactory object that is an instance of the default implementation.

Returns:
a new MessageFactory object
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 mimeheaders,
                                          java.io.InputStream inputstream)
                                   throws java.io.IOException,
                                          SOAPException
Internalizes the contents of the given InputStream object into a new SOAPMessage object and returns the SOAPMessage object.

Parameters:
mimeheaders - the transport-specific headers passed to the message in a transport-independent fashion for creation of the message
inputstream - the InputStream object that contains the data for a 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 stream
SOAPException - if the message is invalid