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, Servlet, ServletConfig

public abstract class JAXMServlet
extends 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
protected  MessageFactory msgFactory
          The MessageFactory object that will be used internally to create the SOAPMessage object to be passed to the method onMessage.
 
Constructor Summary
JAXMServlet()
           
 
Method Summary
 void doPost(HttpServletRequest req, HttpServletResponse resp)
          Internalizes the given HttpServletRequest object and writes the reply to the given HttpServletResponse object.
protected static MimeHeaders getHeaders(HttpServletRequest req)
          Returns a MimeHeaders object that contains the headers in the given HttpServletRequest object.
 void init(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(MimeHeaders headers, HttpServletResponse res)
          Sets the given HttpServletResponse object with the headers in the given MimeHeaders object.
 void setMessageFactory(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 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(ServletConfig servletConfig)
          throws ServletException
Initializes this JAXMServlet object using the given ServletConfig object and initializing the msgFactory field with a default MessageFactory object.
Overrides:
init in class GenericServlet
Parameters:
servletConfig - the ServletConfig object to be used in initializing this JAXMServlet object

setMessageFactory

public void setMessageFactory(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 MimeHeaders getHeaders(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(MimeHeaders headers,
                                 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(HttpServletRequest req,
                   HttpServletResponse resp)
            throws 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 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:
ServletException - if there is a servlet error
java.io.IOException - if there is an input or output error