org.springframework.integration.http.inbound
Class HttpRequestHandlingMessagingGateway
java.lang.Object
org.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.endpoint.AbstractEndpoint
org.springframework.integration.gateway.MessagingGatewaySupport
org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport
org.springframework.integration.http.inbound.HttpRequestHandlingMessagingGateway
- All Implemented Interfaces:
- org.springframework.beans.factory.Aware, org.springframework.beans.factory.BeanFactoryAware, org.springframework.beans.factory.BeanNameAware, org.springframework.beans.factory.InitializingBean, org.springframework.context.Lifecycle, org.springframework.context.Phased, org.springframework.context.SmartLifecycle, NamedComponent, OrderlyShutdownCapable, TrackableComponent, org.springframework.web.HttpRequestHandler
public class HttpRequestHandlingMessagingGateway
- extends HttpRequestHandlingEndpointSupport
- implements org.springframework.web.HttpRequestHandler
Inbound Messaging Gateway that handles HTTP Requests. May be configured as a bean in the Application Context and
delegated to from a simple HttpRequestHandlerServlet in web.xml
where the servlet and bean both have the
same name. If the HttpRequestHandlingEndpointSupport.expectReply
property is set to true, a response can generated from a reply Message.
Otherwise, the gateway will play the role of a unidirectional Channel Adapter with a simple status-based response
(e.g. 200 OK).
The default supported request methods are GET and POST, but the list of values can be configured with the
HttpRequestHandlingEndpointSupport.supportedMethods
property. The payload generated from a GET request (or HEAD or OPTIONS if supported) will
be a MultiValueMap
containing the parameter values. For a request containing a body (e.g. a POST), the type
of the payload is determined by the request payload type
.
If the HTTP request is a multipart and a "multipartResolver" bean has been defined in the context, then it will be
converted by the MultipartAwareFormHttpMessageConverter
as long as the default message converters have not
been overwritten (although providing a customized instance of the Multipart-aware converter is also an option).
By default a number of HttpMessageConverter
s are already configured. The list can be overridden by calling
the HttpRequestHandlingEndpointSupport.setMessageConverters(List)
method.
- Since:
- 2.0
- Author:
- Mark Fisher, Oleg Zhurakousky
Method Summary |
void |
handleRequest(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse)
Handles the HTTP request by generating a Message and sending it to the request channel. |
void |
setConvertExceptions(boolean convertExceptions)
Flag to determine if conversion and writing out of message handling exceptions should be attempted (default
false, in which case they will simply be re-thrown). |
Methods inherited from class org.springframework.integration.http.inbound.HttpRequestHandlingEndpointSupport |
afterShutdown, beforeShutdown, createEvaluationContext, doHandleRequest, doStart, getComponentType, getMessageConverters, isExpectReply, isShuttingDown, onInit, setExtractReplyPayload, setHeaderExpressions, setHeaderMapper, setMessageConverters, setMultipartResolver, setPath, setPayloadExpression, setRequestPayloadType, setSupportedMethodNames, setSupportedMethods, setupResponseAndConvertReply, setupResponseAndConvertReply |
Methods inherited from class org.springframework.integration.gateway.MessagingGatewaySupport |
doStop, receive, send, sendAndReceive, sendAndReceiveMessage, setErrorChannel, setReplyChannel, setReplyMapper, setReplyTimeout, setRequestChannel, setRequestMapper, setRequestTimeout, setShouldTrack |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
HttpRequestHandlingMessagingGateway
public HttpRequestHandlingMessagingGateway()
HttpRequestHandlingMessagingGateway
public HttpRequestHandlingMessagingGateway(boolean expectReply)
setConvertExceptions
public void setConvertExceptions(boolean convertExceptions)
- Flag to determine if conversion and writing out of message handling exceptions should be attempted (default
false, in which case they will simply be re-thrown). If the flag is true and no message converter can convert the
exception a new exception will be thrown.
- Parameters:
convertExceptions
- the flag to set
handleRequest
public final void handleRequest(javax.servlet.http.HttpServletRequest servletRequest,
javax.servlet.http.HttpServletResponse servletResponse)
throws javax.servlet.ServletException,
java.io.IOException
- Handles the HTTP request by generating a Message and sending it to the request channel. If this gateway's
'expectReply' property is true, it will also generate a response from the reply Message once received. That
response will be written by the
HttpMessageConverter
s.
- Specified by:
handleRequest
in interface org.springframework.web.HttpRequestHandler
- Throws:
javax.servlet.ServletException
java.io.IOException