javax.xml.messaging

## Class JAXMServlet

- java.lang.Object
- - javax.servlet.GenericServlet
  - - javax.servlet.http.HttpServlet
    - - javax.xml.messaging.JAXMServlet

All Implemented Interfaces:
  java.io.Serializable, javax.servlet.Servlet, javax.servlet.ServletConfig

    public abstract class JAXMServlet
    extends javax.servlet.http.HttpServlet

The superclass for components that live in a servlet container that receives JAXM messages. A `JAXMServlet` object is notified of a message's arrival using the HTTP-SOAP binding.

The `JAXMServlet` class is a support/utility class and is provided purely as a convenience. It is not a mandatory component, and there is no requirement that it be implemented or extended.

Note that when a component that receives messages extends `JAXMServlet`, it also needs to implement either a `ReqRespListener` object or a `OnewayListener` object, depending on whether the component is written for a request-response style of interaction or for a one-way (asynchronous) style of interaction.

See Also:
  Serialized Form

### Field Summary

Fields
`protected javax.xml.soap.MessageFactory` `msgFactory` The `MessageFactory` object that will be used internally to create the `SOAPMessage` object to be passed to the method `onMessage`.

### Constructor Summary

Constructors
Constructor and Description
`JAXMServlet()`

### Method Summary

Methods
`void` `doPost(javax.servlet.http.HttpServletRequest req, javax.servlet.http.HttpServletResponse resp)` Internalizes the given `HttpServletRequest` object and writes the reply to the given `HttpServletResponse` object.
`protected static javax.xml.soap.MimeHeaders` `getHeaders(javax.servlet.http.HttpServletRequest req)` Returns a `MimeHeaders` object that contains the headers in the given `HttpServletRequest` object.
`void` `init(javax.servlet.ServletConfig servletConfig)` Initializes this `JAXMServlet` object using the given `ServletConfig` object and initializing the `msgFactory` field with a default `MessageFactory` object.
`protected static void` `putHeaders(javax.xml.soap.MimeHeaders headers, javax.servlet.http.HttpServletResponse res)` Sets the given `HttpServletResponse` object with the headers in the given `MimeHeaders` object.
`void` `setMessageFactory(javax.xml.soap.MessageFactory msgFactory)` Sets this `JAXMServlet` object's `msgFactory` field with the given `MessageFactory` object.

### Methods inherited from class javax.servlet.http.HttpServlet

`doDelete, doGet, doHead, doOptions, doPut, doTrace, getLastModified, service, service`

### Methods inherited from class javax.servlet.GenericServlet

`destroy, getInitParameter, getInitParameterNames, getServletConfig, getServletContext, getServletInfo, getServletName, init, log, log`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### msgFactory

    protected javax.xml.soap.MessageFactory msgFactory

The `MessageFactory` object that will be used internally to create the `SOAPMessage` object to be passed to the method `onMessage`. This new message will contain the data from the message that was posted to the servlet. Using the `MessageFactory` object that is the value for this field to create the new message ensures that the correct profile is used.

### Constructor Detail

#### JAXMServlet

    public JAXMServlet()

### Method Detail

#### init

    public void init(javax.servlet.ServletConfig servletConfig)
              throws javax.servlet.ServletException

Initializes this `JAXMServlet` object using the given `ServletConfig` object and initializing the `msgFactory` field with a default `MessageFactory` object.

Specified by:
  `init` in interface `javax.servlet.Servlet`
Overrides:
  `init` in class `javax.servlet.GenericServlet`
Parameters:
  `servletConfig` - the `ServletConfig` object to be used in initializing this `JAXMServlet` object
Throws:
  `javax.servlet.ServletException`

#### setMessageFactory

    public void setMessageFactory(javax.xml.soap.MessageFactory msgFactory)

Sets this `JAXMServlet` object's `msgFactory` field with the given `MessageFactory` object. A `MessageFactory` object for a particular profile needs to be set before a message is received in order for the message to be successfully internalized.

Parameters:
  `msgFactory` - the `MessageFactory` object that will be used to create the `SOAPMessage` object that will be used to internalize the message that was posted to the servlet

#### getHeaders

    protected static javax.xml.soap.MimeHeaders getHeaders(javax.servlet.http.HttpServletRequest req)

Returns a `MimeHeaders` object that contains the headers in the given `HttpServletRequest` object.

Parameters:
  `req` - the `HttpServletRequest` object that a messaging provider sent to the servlet
Returns:
  a new `MimeHeaders` object containing the headers in the message sent to the servlet

#### putHeaders

    protected static void putHeaders(javax.xml.soap.MimeHeaders headers,
                  javax.servlet.http.HttpServletResponse res)

Sets the given `HttpServletResponse` object with the headers in the given `MimeHeaders` object.

Parameters:
  `headers` - the `MimeHeaders` object containing the the headers in the message sent to the servlet
  `res` - the `HttpServletResponse` object to which the headers are to be written
See Also:
  `getHeaders(javax.servlet.http.HttpServletRequest)`

#### doPost

    public void doPost(javax.servlet.http.HttpServletRequest req,
              javax.servlet.http.HttpServletResponse resp)
                throws javax.servlet.ServletException,
                       java.io.IOException

Internalizes the given `HttpServletRequest` object and writes the reply to the given `HttpServletResponse` object.

Note that the value for the `msgFactory` field will be used to internalize the message. This ensures that the message factory for the correct profile is used.

Overrides:
  `doPost` in class `javax.servlet.http.HttpServlet`
Parameters:
  `req` - the `HttpServletRequest` object containing the message that was sent to the servlet
  `resp` - the `HttpServletResponse` object to which the response to the message will be written
Throws:
  `javax.servlet.ServletException` - if there is a servlet error
  `java.io.IOException` - if there is an input or output error