JAXMServlet (Message Queue, 5.1 API Specification)
Date: 2019-01-27

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
    Modifier and Type | Field and Description
    --- | ---
    `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

    All Methods Static Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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

Copyright (c) 2010, 2017 Oracle and/or its affiliates. All rights reserved.