Я пытаюсь построить окно чата, используя springboot + thymeleaf в java. У меня ошибка при отправке звонка из пользовательского интерфейса на контроллер. Всякий раз, когда я ввожу имя пользователя и нажимаю на кнопку отправить, выдается сообщение об ошибке Unhandled exception from message handler method
.
Я скачал код чата из Интернета и добавил код в свой существующий проект. Если я запускаю проект независимо, он прекрасно работает, но если я интегрируюсь с моим проектом, это выдает ошибку.
Мой .js имеет метод ниже, который вызывает chat.addUser.
Main.js
function onConnected() {
stompClient.subscribe('/topic/publicChatRoom', onMessageReceived); // Subscribe to the Public Topic
// Tell your username to the server
stompClient.send("/app/chat.addUser",
{},
JSON.stringify({sender: username, type: 'JOIN'})
)
connectingElement.classList.add('hidden');
}
Мой WebSocketChatController выглядит следующим образом
WebSocketController.java
@MessageMapping("/chat.addUser")
@SendTo("/topic/publicChatRoom")
public ChatMessage addUser(@Payload ChatMessage chatMessage,SimpMessageHeaderAccessor headerAccessor) {
// Add username in web socket session
System.out.println("In addUser");
headerAccessor.getSessionAttributes().put("username",chatMessage.getSender());
return chatMessage;
}
В этом контроллере я не могу позвонить ("/chat.addUser"
). Мой вывод такой, когда я ввожу имя пользователя.
Выход:
2019-05-30 17:11:50,228 [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect [0;39m : RESPONSE : chat
2019-05-30 17:11:50,228 [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect [0;39m : SPEND TIME : 1
2019-05-30 17:11:50,228 [34mINFO [0;39m [-8081-exec-6] [36mcom.bmc.app.config.WebLogAspect [0;39m :
2019-05-30 17:12:11,853 [34mINFO [0;39m [-8081-exec-2] [36mc.b.a.listener.HttpHandshakeInterceptor [0;39m : Call beforeHandshake
2019-05-30 17:12:11,855 [34mINFO [0;39m [-8081-exec-2] [36mc.b.a.listener.HttpHandshakeInterceptor [0;39m : Call afterHandshake
2019-05-30 17:12:11,863 [34mINFO [0;39m [undChannel-7] [36mc.b.a.config.WebSocketChatEventListener [0;39m : Received a new web socket connection
2019-05-30 17:12:14,899 [1;31mERROR[0;39m [ndChannel-23] [36m.WebSocketAnnotationMethodMessageHandler[0;39m : Unhandled exception from message handler method
java.lang.NullPointerException: null
at com.bmc.app.config.WebLogAspect.doBefore(WebLogAspect.java:33) ~[classes/:na]
at jdk.internal.reflect.GeneratedMethodAccessor238.invoke(Unknown Source) ~[na:na]