|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.springframework.integration.context.IntegrationObjectSupport
org.springframework.integration.handler.AbstractMessageHandler
org.springframework.integration.handler.AbstractReplyProducingMessageHandler
org.springframework.integration.http.outbound.HttpRequestExecutingMessageHandler
public class HttpRequestExecutingMessageHandler
A MessageHandler
implementation that executes HTTP requests by delegating
to a RestTemplate
instance. If the 'expectReply' flag is set to true (the default)
then a reply Message will be generated from the HTTP response. If that response contains
a body, it will be used as the reply Message's payload. Otherwise the reply Message's
payload will contain the response status as an instance of the HttpStatus
enum.
When there is a response body, the HttpStatus
enum instance will instead be
copied to the MessageHeaders of the reply. In both cases, the response headers will
be mapped to the reply Message's headers by this handler's HeaderMapper
instance.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler |
---|
AbstractReplyProducingMessageHandler.RequestHandler |
Field Summary |
---|
Fields inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
logger |
Fields inherited from interface org.springframework.core.Ordered |
---|
HIGHEST_PRECEDENCE, LOWEST_PRECEDENCE |
Constructor Summary | |
---|---|
HttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression)
Create a handler that will send requests to the provided URI Expression. |
|
HttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression,
org.springframework.web.client.RestTemplate restTemplate)
Create a handler that will send requests to the provided URI using a provided RestTemplate |
|
HttpRequestExecutingMessageHandler(java.lang.String uri)
Create a handler that will send requests to the provided URI. |
|
HttpRequestExecutingMessageHandler(java.lang.String uri,
org.springframework.web.client.RestTemplate restTemplate)
Create a handler that will send requests to the provided URI using a provided RestTemplate |
|
HttpRequestExecutingMessageHandler(java.net.URI uri)
Create a handler that will send requests to the provided URI. |
Method Summary | |
---|---|
protected java.lang.Object |
handleRequestMessage(Message<?> requestMessage)
Subclasses must implement this method to handle the request Message. |
protected org.springframework.http.HttpHeaders |
mapHeaders(Message<?> message)
|
void |
onInit()
Subclasses may implement this for initialization logic. |
void |
setCharset(java.lang.String charset)
Specify the charset name to use for converting String-typed payloads to bytes. |
void |
setErrorHandler(org.springframework.web.client.ResponseErrorHandler errorHandler)
Set the ResponseErrorHandler for the underlying RestTemplate . |
void |
setExpectedResponseType(java.lang.Class<?> expectedResponseType)
Specify the expected response type for the REST request otherwise the default response type is ResponseEntity and will
be returned as a payload of the reply Message. |
void |
setExpectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)
Specify the Expression to determine the type for the expected response
The returned value of the expression could be an instance of Class or
String representing a fully qualified class name
Also see setExpectedResponseTypeExpression(Expression) |
void |
setExpectReply(boolean expectReply)
Specify whether a reply Message is expected. |
void |
setExtractPayload(boolean extractPayload)
Specify whether the outbound message's payload should be extracted when preparing the request body. |
void |
setHeaderMapper(HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
Set the HeaderMapper to use when mapping between HTTP headers and MessageHeaders. |
void |
setHttpMethod(org.springframework.http.HttpMethod httpMethod)
Specify the HttpMethod for requests. |
void |
setHttpMethodExpression(org.springframework.expression.Expression httpMethodExpression)
Specify the SpEL Expression to determine HttpMethod dynamically |
void |
setMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
Set a list of HttpMessageConverter s to be used by the underlying RestTemplate . |
void |
setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory requestFactory)
Set the ClientHttpRequestFactory for the underlying RestTemplate . |
void |
setTransferCookies(boolean transferCookies)
Set to true if you wish 'Set-Cookie' headers in responses to be transferred as 'Cookie' headers in subsequent interactions for a message. |
void |
setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
Set the Map of URI variable expressions to evaluate against the outbound message when replacing the variable placeholders in a URI template. |
Methods inherited from class org.springframework.integration.handler.AbstractReplyProducingMessageHandler |
---|
getMessagingTemplate, handleMessageInternal, setAdviceChain, setBeanClassLoader, setChannelResolver, setOutputChannel, setRequiresReply, setSendTimeout, shouldCopyRequestHeaders |
Methods inherited from class org.springframework.integration.handler.AbstractMessageHandler |
---|
getComponentType, getOrder, handleMessage, setOrder, setShouldTrack |
Methods inherited from class org.springframework.integration.context.IntegrationObjectSupport |
---|
afterPropertiesSet, getBeanFactory, getComponentName, getConversionService, getTaskScheduler, setBeanFactory, setBeanName, setComponentName, setConversionService, setTaskScheduler, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface org.springframework.integration.context.NamedComponent |
---|
getComponentName |
Constructor Detail |
---|
public HttpRequestExecutingMessageHandler(java.net.URI uri)
public HttpRequestExecutingMessageHandler(java.lang.String uri)
public HttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression)
public HttpRequestExecutingMessageHandler(java.lang.String uri, org.springframework.web.client.RestTemplate restTemplate)
uri
- restTemplate
- public HttpRequestExecutingMessageHandler(org.springframework.expression.Expression uriExpression, org.springframework.web.client.RestTemplate restTemplate)
uriExpression
- A SpEL Expression that can be resolved against the message object and
BeanFactory
.restTemplate
- Method Detail |
---|
public void setHttpMethodExpression(org.springframework.expression.Expression httpMethodExpression)
Expression
to determine HttpMethod
dynamically
httpMethodExpression
- public void setHttpMethod(org.springframework.http.HttpMethod httpMethod)
HttpMethod
for requests. The default method will be POST.
public void setExtractPayload(boolean extractPayload)
true
.
public void setCharset(java.lang.String charset)
public void setExpectReply(boolean expectReply)
public void setExpectedResponseType(java.lang.Class<?> expectedResponseType)
ResponseEntity
and will
be returned as a payload of the reply Message.
To take advantage of the HttpMessageConverters
registered on this adapter, provide a different type).
Also see setExpectedResponseTypeExpression(Expression)
public void setExpectedResponseTypeExpression(org.springframework.expression.Expression expectedResponseTypeExpression)
Expression
to determine the type for the expected response
The returned value of the expression could be an instance of Class
or
String
representing a fully qualified class name
Also see setExpectedResponseTypeExpression(Expression)
public void setErrorHandler(org.springframework.web.client.ResponseErrorHandler errorHandler)
ResponseErrorHandler
for the underlying RestTemplate
.
RestTemplate.setErrorHandler(ResponseErrorHandler)
public void setMessageConverters(java.util.List<org.springframework.http.converter.HttpMessageConverter<?>> messageConverters)
HttpMessageConverter
s to be used by the underlying RestTemplate
.
Converters configured via this method will override the default converters.
RestTemplate.setMessageConverters(java.util.List)
public void setHeaderMapper(HeaderMapper<org.springframework.http.HttpHeaders> headerMapper)
HeaderMapper
to use when mapping between HTTP headers and MessageHeaders.
public void setRequestFactory(org.springframework.http.client.ClientHttpRequestFactory requestFactory)
ClientHttpRequestFactory
for the underlying RestTemplate
.
HttpAccessor.setRequestFactory(ClientHttpRequestFactory)
public void setUriVariableExpressions(java.util.Map<java.lang.String,org.springframework.expression.Expression> uriVariableExpressions)
public void setTransferCookies(boolean transferCookies)
transferCookies
- the transferCookies to set.public void onInit()
IntegrationObjectSupport
onInit
in class AbstractReplyProducingMessageHandler
protected java.lang.Object handleRequestMessage(Message<?> requestMessage)
AbstractReplyProducingMessageHandler
handleRequestMessage
in class AbstractReplyProducingMessageHandler
protected org.springframework.http.HttpHeaders mapHeaders(Message<?> message)
|
Spring Integration | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |