我在执行成功握手时遇到问题。天气运行Vysper独立或嵌入在一个简单的Java服务器(我自己制作,或其中一个预先打包的例子),我尝试从JavaScript客户端(我自己或一个预先打包的示例)连接时得到相同的错误条件。返回的错误是HTTP 405响应,在Chrome控制台中报告为“意外响应代码:405”。
独立服务器的配置:
'spring-config.xml'增加了以下内容:
<bean id="websocketEndpoint" class="org.apache.vysper.xmpp.extension.websockets.WebSocketEndpoint">
<property name="port" value="8080" />
<property name="contextPath" value="/ws" />
</bean>
在服务器构造函数中:
<ref bean="websocketEndpoint"/>
服务器启动时可能出现的错误情况:
服务器似乎正常启动,仅报告了以下可能的问题(在独立服务器和嵌入式服务器上):
org.eclipse.jetty.server.Server@2af081 STOPPED
+-SelectChannelConnector@0.0.0.0:8080
+-qtp29384701{8<=6<=8/254,0}
+-ServletContextHandler@32efa7@32efa7/ws,null started
+-{}
+-{}
+-SessionHandler@1fbfd6 started
+-ServletHandler@6b9c84 started
+-[/ws]=>org.apache.vysper.xmpp.extension.websockets.XmppWebSocketServlet-23860799{}
尝试连接时出错:
尝试从客户端连接时,以下两种类型的服务器实例都会记录以下内容:
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | REQUEST /ws/ws on org.eclipse.jetty.server.nio.SelectChannelConnector$3@c3615b
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | sessionManager=org.eclipse.jetty.server.session.HashSessionManager@1767f84
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | session=null
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | servlet=org.apache.vysper.xmpp.extension.websockets.XmppWebSocketServlet-29347786
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | servlet holder=
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | chain=
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | RESPONSE /ws/ws 405
17:04:02,137 | DEBUG | org.eclipse.jetty.util.log | EOF
在客户端的Chrome控制台中:
Unexpected response code: 405
Event {clipboardData: undefined, cancelBubble: false, returnValue: true, srcElement: WebSocket, defaultPrevented: false…}
CloseEvent {reason: "", code: 1006, wasClean: false, clipboardData: undefined, cancelBubble: false…}
有关如何进行的任何建议?