diff --git a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java index b06bea9b5b..5be8839e0a 100644 --- a/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java +++ b/spring-websocket/src/main/java/org/springframework/web/socket/messaging/StompSubProtocolHandler.java @@ -465,7 +465,9 @@ public class StompSubProtocolHandler implements SubProtocolHandler, ApplicationE } if (StompCommand.ERROR.equals(command) && getErrorHandler() != null) { - Message errorMessage = getErrorHandler().handleErrorMessageToClient((Message) message); + Message enrichedMessage = + MessageBuilder.createMessage((byte[]) message.getPayload(), accessor.getMessageHeaders()); + Message errorMessage = getErrorHandler().handleErrorMessageToClient(enrichedMessage); if (errorMessage != null) { accessor = MessageHeaderAccessor.getAccessor(errorMessage, StompHeaderAccessor.class); Assert.state(accessor != null, "No StompHeaderAccessor");