Коллеги, не постесняюсь задать еще один, скорей всего глупый вопрос. По какой причине может при попытке соединения по WebSocket выдаваться вот такой эксепшен?
javax.websocket.DeploymentException: The HTTP response from the server [400] did not permit the HTTP upgrade to WebSocket
Соединяюсь я вот так примерно:
WebSocketClient client = new StandardWebSocketClient();
WebSocketStompClient stompClient = new WebSocketStompClient(client);
stompClient.setMessageConverter(new MappingJackson2MessageConverter());
...
stompClient.connect("ws://127.0.0.1:8080/notify", sessionHandler);
Со стороны сервера - типичная конфигурация:
@Configuration@EnableWebSocketMessageBrokerpublic class WebSocketConfig implements WebSocketMessageBrokerConfigurer {
@Override public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic", "/queue");
registry.setApplicationDestinationPrefixes("/app", "/topic");
registry.setUserDestinationPrefix("/user");
}
@Override public void registerStompEndpoints(StompEndpointRegistry registry) {
registry
.addEndpoint("/notify");
}
}
В логах сервера:
2020-08-13 15:38:57.251 INFO 15104 --- [nio-8080-exec-1] o.s.web.servlet.DispatcherServlet : Completed initialization in 4 ms
2020-08-13 15:38:57.275 WARN 15104 --- [nio-8080-exec-1] .w.s.m.s.DefaultHandlerExceptionResolver : Resolved [org.springframework.web.method.annotation.MethodArgumentTypeMismatchException: Failed to convert value of type 'java.lang.String' to required type 'java.lang.Integer'; nested exception is java.lang.NumberFormatException: For input string: "notify"]