diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java index 0545be849c..e5446696c6 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/SubProtocolWebSocketHandler.java @@ -309,9 +309,12 @@ public class SubProtocolWebSocketHandler implements WebSocketHandler, */ @Override public void handleMessage(WebSocketSession session, WebSocketMessage message) throws Exception { + WebSocketSessionHolder holder = this.sessions.get(session.getId()); + if (holder != null) { + session = holder.getSession(); + } SubProtocolHandler protocolHandler = findProtocolHandler(session); protocolHandler.handleMessageFromClient(session, message, this.clientInboundChannel); - WebSocketSessionHolder holder = this.sessions.get(session.getId()); if (holder != null) { holder.setHasHandledMessages(); }