Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## javax.xml.soap
Class MessageFactory

    java.lang.Object
      javax.xml.soap.MessageFactory

public abstract class MessageFactory
extends java.lang.Object

A factory for creating `SOAPMessage` objects.

A SAAJ client can 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:

- A `SOAPPart` object
- A `SOAPEnvelope` object
- A `SOAPBody` object
- A `SOAPHeader` object

`MessageFactory` objects can be initialized with a JAXM profile. In such a case 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 content
  This is the method clients would normally use to create a request message.
- `createMessage(MimeHeaders, java.io.InputStream)` -- message has content from the `InputStream` object and headers from the `MimeHeaders` object
  This method can be used internally by a service implementation to create a message that is a response to a request.

Constructor Summary
`MessageFactory()`

Method Summary
`abstract SOAPMessage` | `createMessage()` Creates a new `SOAPMessage` object with the default `SOAPPart`, `SOAPEnvelope`, `SOAPBody`, and `SOAPHeader` objects.
`abstract SOAPMessage` | `createMessage(MimeHeaders headers, java.io.InputStream in)` 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()

Method Detail

### newInstance

    public static MessageFactory newInstance()
                                      throws SOAPException

  Creates a new `MessageFactory` object that is an instance of the default implementation.

  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 headers,
                                              java.io.InputStream in)
                                       throws java.io.IOException,
                                              SOAPException

  Internalizes the contents of the given `InputStream` object into a new `SOAPMessage` object and returns the `SOAPMessage` object.

  Parameters:
    `in` - the `InputStream` object 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 `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

Overview | Package | Class | Tree | Deprecated | Index | Help
| J2EE1.4 SDK
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Submit a bug or feature

Copyright 2003 Sun Microsystems, Inc. All rights reserved.