From 7485ea449a2109f92fbbae6294b870e6bd6f9493 Mon Sep 17 00:00:00 2001 From: Oleg Zhurakousky Date: Mon, 21 Nov 2011 08:17:41 -0500 Subject: [PATCH] INT-2254 added support for recognition of a Message to HttpRequestHandlingEndpointSupport INT-2254 polishing INT-2254 polishing --- .../HttpRequestHandlingEndpointSupport.java | 23 ++++++++++++------- 1 file changed, 15 insertions(+), 8 deletions(-) diff --git a/spring-integration-http/src/main/java/org/springframework/integration/http/inbound/HttpRequestHandlingEndpointSupport.java b/spring-integration-http/src/main/java/org/springframework/integration/http/inbound/HttpRequestHandlingEndpointSupport.java index 90b7f8b7a2..7808d8ec04 100644 --- a/spring-integration-http/src/main/java/org/springframework/integration/http/inbound/HttpRequestHandlingEndpointSupport.java +++ b/spring-integration-http/src/main/java/org/springframework/integration/http/inbound/HttpRequestHandlingEndpointSupport.java @@ -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);