Получение org.springframework.messaging.converter.MessageConversionException в приложении чатаJavascript

Форум по Javascript
Ответить
Anonymous
 Получение org.springframework.messaging.converter.MessageConversionException в приложении чата

Сообщение Anonymous »

Я создал простое приложение для чата в реальном времени, однако когда я запускаю приложение, все выглядит нормально.
После ввода и отправки сообщения оно отображается на вкладке консоли, но не отражается в приложении чата, также возникает исключение как:
org.springframework.messaging.converter.MessageConversionException:
Я не могу устранить эту ошибку. Пожалуйста, помогите.

Код: Выделить всё




Real Time Chat Application




Real-Time Chat Application






Send







function setConnected(connected) {
document.getElementById("sendMessage").disabled = !connected;
}

function connect() {
let socket = new SockJS('/chat');
stompClient = Stomp.over(socket);
stompClient.connect({}, function(frame) {
setConnected(true);
stompClient.subscribe('topic/messages', function(message) {
showMessage(JSON.parse(message.body));
});
});
}

function showMessage(message){
let chat=document.getElementById('chat');
let messageElement=document.createElement('div');
messageElement.textContent=message.sender+':'+ message.content;
messageElement.class="border-bottom mb-1";
chat.scrollTop=chat.scrollHeight;
}

function sendMessage(){
let sender=document.getElementById('senderInput').value;
let content=document.getElementById('messageInput').value;
let chatMessage={
sender:sender,
content:content
}
stompClient.send("/app/sendMessage",{},JSON.stringify(chatMessage));
document.getElementById('messageInput').value='';
}

document.getElementById('sendMessage').onclick=sendMessage;
window.onload=connect;


Код: Выделить всё

//Controller class code
package com.chat.main.controller;

import org.springframework.messaging.handler.annotation.MessageMapping;
import org.springframework.messaging.handler.annotation.SendTo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import com.chat.main.model.ChatMessage;

@Controller
public class ChatController {
@MessageMapping("/sendMessage")
@SendTo("/topic/messages")
public ChatMessage sendMessage(ChatMessage message) {
return message;
}

@GetMapping("/chat")
public String chat() {
return "chat";
}
}

Код: Выделить всё

//Websocket configuration code
package com.chat.main.config;

import org.springframework.context.annotation.Configuration;
import org.springframework.messaging.simp.config.MessageBrokerRegistry;
import org.springframework.web.socket.config.annotation.EnableWebSocketMessageBroker;
import org.springframework.web.socket.config.annotation.StompEndpointRegistry;
import org.springframework.web.socket.config.annotation.WebSocketMessageBrokerConfigurer;

@Configuration
@EnableWebSocketMessageBroker
public class WebSocketConfig implements WebSocketMessageBrokerConfigurer{

@Override
public void registerStompEndpoints(StompEndpointRegistry registry) {
registry.addEndpoint("/chat")
.setAllowedOrigins("http://localhost:8080")
.withSockJS();
}

@Override
public void configureMessageBroker(MessageBrokerRegistry registry) {
registry.enableSimpleBroker("/topic");
registry.setApplicationDestinationPrefixes("/app");
}

}
Исключение
Приложение чата
Контроллер
Конфигурация веб-сокета


Подробнее здесь: https://stackoverflow.com/questions/793 ... tion-in-ch
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»