Tidak ditemukan encoder yang sesuai (java websocket)

Saya mempunyai beberapa masalah. Saya mencoba menulis beberapa aplikasi web dengan soket web untuk streaming data. Ini belum siap tetapi saya sedang mengerjakannya. Saya mencoba mengirimi server saya sebuah String dan server akan mengirimi saya pesan kembali dengan UUID. Pertama-tama saya baru saja mengirim UUID dengan

session.getBasicRemote().sendText(uuid.tostring())

itu berfungsi dengan baik tetapi sekarang saya mencoba mengirim peta sehingga saya dapat mengirim UUID dan String bersama-sama dengan menggunakan

session.getBasicRemote().sendObject(map);

tetapi sekarang klien JS saya tidak menerima data. Saya mencoba mengirim server saya dengan pengecualian

javax.websocket.EncodeException: Tidak ditemukan pembuat enkode yang sesuai

Saya tidak tahu sekarang bagaimana mengatasi masalah ini.

kode JS

var websocket;
$(document).ready(function(){
    websocket = new WebSocket("ws://localhost:8080/TimeStreamingTestartID-1.0-SNAPSHOT/websockets/simplestockmarket")

    websocket.onopen = function(){ 
    alert("SUCESS: REGISTERED!!");
    }

$("#tblcontainer").html('<table id="tableID" class="table table-bordered" ><thead><tr><th>Identification</th><th>Text</th></tr></thead></table>')
$("#start").click(function(){

    websocket.send("Test")
    websocket.onmessage = function(erg){ 
    $("#tableID").append('<tr><td>'+"1"+'</td><td>'+erg+'</td></tr>')
    console.log(erg);
    }

});
});

Metode java onMessage saya

    @OnMessage
public void message(Session session,String message) throws IOException {
    UUID uuid = UUID.randomUUID();
    Map map = new HashMap<>();
    map.put(uuid,message);

    try {
        session.getBasicRemote().sendObject(map);
    } catch (EncodeException e) {
        e.printStackTrace();
    }
}

person alovaros    schedule 06.08.2015    source sumber


Jawaban (1)


Bagaimana tampilan titik akhir server Anda? Apakah Anda memiliki anotasi ini di atasnya?

@ServerEndpoint(value="/whatever", encoders = {MessageEncoder.class}, decoders = {MessageDecoder.class}) 
public class MessageService {

    @OnMessage
    public void message()...
}
person darijan    schedule 06.08.2015
comment
@ServerEndpoint("/websockets/simplestockmarket") public class SimpleStockMarketWSServerEndpoint sepertinya saat ini mencoba menulis seperti Anda tetapi tidak ada MessageEncoder - person alovaros; 06.08.2015
comment
Nah kalau belum punya import toplesnya. - person darijan; 06.08.2015
comment
jika Anda mau memberi tahu saya nama toplesnya, itu juga bagus :D - person alovaros; 06.08.2015
comment
Maafkan saya, Anda harus menulis sendiri: blog .idrsolutions.com/2013/12/ - person darijan; 06.08.2015
comment
Terima kasih :D Saya akan mencobanya semoga kemampuan saya cukup untuk menulis ini haha - person alovaros; 06.08.2015