Package org.apache.xmlbeans.impl.soap
Class MessageFactory
- java.lang.Object
-
- org.apache.xmlbeans.impl.soap.MessageFactory
-
public abstract class MessageFactory extends java.lang.ObjectA factory for creating
SOAPMessageobjects.A JAXM client performs the following steps to create a message.
-
Creates a
MessageFactoryobject from aProviderConnectionobject (conin the following line of code). TheStringpassed to thecreateMessageFactorymethod is the name of of a messaging profile, which must be the URL for the schema.MessageFactory mf = con.createMessageFactory(schemaURL); -
Calls the method
createMessageon theMessageFactoryobject. All messages produced by thisMessageFactoryobject will have the header information appropriate for the messaging profile that was specified when theMessageFactoryobject was created.SOAPMessage m = mf.createMessage();
MessageFactoryobject using the methodnewInstance, 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 thenewInstancemethod to create aMessageFactoryobject.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
MessageFactoryobject was created using aProviderConnectionobject, which means that it was initialized with a specified profile, it will produce messages that also come prepopulated with additional entries in theSOAPHeaderobject and theSOAPBodyobject. The content of a newSOAPMessageobject depends on which of the twoMessageFactorymethods is used to create it.createMessage()-- message has no content
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.
-
Creates a
-
-
Constructor Summary
Constructors Constructor Description MessageFactory()Create a new MessageFactory.
-
Method Summary
All 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 mimeheaders, java.io.InputStream inputstream)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.
-
-
-
Method Detail
-
newInstance
public static MessageFactory newInstance() throws SOAPException
Creates a newMessageFactoryobject that is an instance of the default implementation.- Returns:
- a new
MessageFactoryobject - Throws:
SOAPException- if there was an error in creating the default implementation of theMessageFactory
-
createMessage
public 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
-
createMessage
public abstract SOAPMessage createMessage(MimeHeaders mimeheaders, java.io.InputStream inputstream) throws java.io.IOException, SOAPException
Internalizes the contents of the givenInputStreamobject into a newSOAPMessageobject and returns theSOAPMessageobject.- Parameters:
mimeheaders- the transport-specific headers passed to the message in a transport-independent fashion for creation of the messageinputstream- theInputStreamobject that contains the data for a message- Returns:
- a new
SOAPMessageobject containing the data from the givenInputStreamobject - Throws:
java.io.IOException- if there is a problem in reading data from the input streamSOAPException- if the message is invalid
-
-