WebSocket erreur 404

Je suis en train de mettre en œuvre des WebSocket sur mon site. Suivant des tutoriels, j'ai ajouté cette classe:

@ServerEndpoint(value="/websocketendpoint")
public class WebSocket {
    private static Set<Session> peers = Collections.synchronizedSet(new HashSet<Session>());

    @OnMessage
    public String onMessage(String message){ return null; }

    @OnOpen
    public void onOpen(Session peer){ peers.add(peer); }

    @OnClose
    public void onClose(Session peer){ peers.remove(peer); }
}

Et ce JS:

var wsUri = "ws://" + document.location.host + document.location.pathname + "websocketendpoint";
var ws = new WebSocket(wsUri);
ws.onopen = function(){
    ws.send("Message to send");
    alert("Message is sent...");
};
ws.onmessage = function (evt){   
    var received_msg = evt.data;
    alert("Message is received...");
};
ws.onclose = function(){ 
    alert("Connection is closed...");
};

J'ai ajouté le js à l'une de mes pages, et seulement ws.onclose est appelé, dans la console, j'obtiens cette erreur:

Firefox: Firefox ne peut pas établir une connexion avec le serveur à
ws://localhost:8080/Monsite/websocketendpoint

Chrome: Erreur lors de WebSocket poignée de main: réponse Inattendue code:
404

J'ai essayé d'utiliser 'ws://echo.websocket.org' comme wsUri et ça fonctionne, donc je suppose que le problème est du côté serveur.

Je suis en utilisant les bibliothèques suivantes: javaee-api-7.0, javax.websocket-api-1.0
Mes navigateurs sont compatibles avec les websockets (j'ai vérifié)

Des sujets similaires ne m'a pas aidé, donc je m'adresse à vous pour des suggestions sur la façon de résoudre le problème

D'où vient Mysite viennent? Est le fichier WAR déployé sous ce nom? Est-il un autre élément du chemin que le serveur utilise pour le WS point de terminaison?
Mysite est le nom de mon projet dans tomcat, je ne suis pas sûr de ce que tu veux dire dans la deuxième question.

OriginalL'auteur Alexandru Severin | 2014-07-16