diff --git a/spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java b/spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java index fdf7a8c6a6..2541eb33b1 100644 --- a/spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/messaging/service/method/MessageReturnValueHandler.java @@ -84,6 +84,10 @@ public class MessageReturnValueHandler implements ReturnValueHandler { returnHeaders.setSessionId(sessionId); returnHeaders.setSubscriptionId(subscriptionId); + if (returnHeaders.getDestination() == null) { + returnHeaders.setDestination(headers.getDestination()); + } + Object payload = returnMessage.getPayload(); return MessageBuilder.fromPayloadAndHeaders(payload, returnHeaders.toMessageHeaders()).build(); }