Merge pull request #195 from olegz/INT-2254

added support for recognition of a Message to HttpRequestHandlingEndpointSupport
This commit is contained in:
Mark Fisher
2011-11-21 12:00:21 -05:00

View File

@@ -356,15 +356,22 @@ abstract class HttpRequestHandlingEndpointSupport extends MessagingGatewaySuppor
payload = requestParams;
}
}
MessageBuilder<?> messageBuilder = null;
Message<?> message = MessageBuilder.withPayload(payload).copyHeaders(headers)
.setHeader(org.springframework.integration.http.HttpHeaders.REQUEST_URL,
request.getURI().toString())
.setHeader(org.springframework.integration.http.HttpHeaders.REQUEST_METHOD,
request.getMethod().toString())
.setHeader(org.springframework.integration.http.HttpHeaders.USER_PRINCIPAL,
servletRequest.getUserPrincipal()).build();
if (payload instanceof Message<?>){
messageBuilder = MessageBuilder.fromMessage((Message<?>) payload);
}
else {
messageBuilder = MessageBuilder.withPayload(payload).copyHeaders(headers);
}
Message<?> message = messageBuilder
.setHeader(org.springframework.integration.http.HttpHeaders.REQUEST_URL, request.getURI().toString())
.setHeader(org.springframework.integration.http.HttpHeaders.REQUEST_METHOD, request.getMethod().toString())
.setHeader(org.springframework.integration.http.HttpHeaders.USER_PRINCIPAL, servletRequest.getUserPrincipal())
.build();
Object reply = null;
if (this.expectReply) {
reply = this.sendAndReceiveMessage(message);