Javascript WebSocket失败:WebSocket握手期间出错:意外响应代码:403
我正在研究wildfly 8.2。如果我运行到的WebSocket连接Javascript WebSocket失败:WebSocket握手期间出错:意外响应代码:403,javascript,jakarta-ee,websocket,wildfly,Javascript,Jakarta Ee,Websocket,Wildfly,我正在研究wildfly 8.2。如果我运行到的WebSocket连接 var wsUrl = 'ws://' + window.location.host var ws = new WebSocket(wsUrl + '/testwebservlet') 在我的服务器上,我的控制台中有以下消息: WebSocket connection to 'ws://localhost:8282/testwebservlet' failed: Error during WebSocket
var wsUrl = 'ws://' + window.location.host
var ws = new WebSocket(wsUrl + '/testwebservlet')
在我的服务器上,我的控制台中有以下消息:
WebSocket connection to 'ws://localhost:8282/testwebservlet' failed:
Error during WebSocket handshake: Unexpected response code: 403
我的xhtml代码如下
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8" />
<title>WebSocket Client</title>
<script type="text/javascript">
var wsUrl = 'ws://' + window.location.host
var ws = new WebSocket(wsUrl + '/testwebservlet')
ws.onopen = function()
{
alert("Web Socket is connected!!");
};
ws.onmessage = function (evt)
{
var msg = evt.data;
alert("Message received:" + msg);
};
ws.onclose = function()
{
alert("Connection is closed...");
};
</script>
</head>
<body>
</body>
</html>
有什么建议吗?那么它可以在wildfly 9上运行?所以它不是像您的标签所建议的特定wildfly-8问题?您知道http 403是什么,对吗@Kukeltje:WildFly是另一个缺乏一些基本功能的头痛病。403经常出现在WildFly 10.0.0 final中的公共WebSocket端点上。@Tiny:我在WildFly 8.2中从未遇到过这个403。但是,10中缺少哪些功能?似乎找不到与此相关的链接
package testwebservlet;
import javax.annotation.Resource;
import javax.ejb.Stateless;
import javax.enterprise.concurrent.ManagedExecutorService;
import javax.websocket.CloseReason;
import javax.websocket.OnClose;
import javax.websocket.OnMessage;
import javax.websocket.OnOpen;
import javax.websocket.Session;
import javax.websocket.server.ServerEndpoint;
import org.jboss.logging.Logger;
@ServerEndpoint("/testwebservlet")
public class WSEndpoint {
Logger log = Logger.getLogger(this.getClass());
@OnMessage
public void receiveMessage(String message, Session session) {
log.info("Received : "+ message + ", session:" + session.getId());
}
@OnOpen
public void open(Session session) {
log.info("Open session:" + session.getId());
}
@OnClose
public void close(Session session, CloseReason c) {
log.info("Closing:" + session.getId());
}
}