Java / Spring STOMP服务器拒绝传输到WebSocket协议

时间:2019-10-12 15:39:17

标签: java spring websocket stomp

我试图结合一些我在网上找到的代码:

https://spring.io/guides/gs/messaging-stomp-websocket/

https://www.baeldung.com/websockets-api-java-spring-client

创建一个简单的STOMP客户端/服务器应用程序。

您可以在以下位置找到我的代码:https://github.com/spierepf/stomp-sandbox/tree/feature/smart-client

我遇到的麻烦是服务器拒绝将协议切换到WebSockets:

Exception in thread "main" java.util.concurrent.ExecutionException: javax.websocket.DeploymentException: Handshake error.
    at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122)
    at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191)
    at org.springframework.util.concurrent.SettableListenableFuture.get(SettableListenableFuture.java:112)
    at com.example.client.smart.StompClient.main(StompClient.java:27)
Caused by: javax.websocket.DeploymentException: Handshake error.
    at org.glassfish.tyrus.client.ClientManager$3$1.run(ClientManager.java:674)
    at org.glassfish.tyrus.client.ClientManager$3.run(ClientManager.java:712)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at org.glassfish.tyrus.client.ClientManager$SameThreadExecutorService.execute(ClientManager.java:866)
    at java.base/java.util.concurrent.AbstractExecutorService.submit(AbstractExecutorService.java:118)
    at org.glassfish.tyrus.client.ClientManager.connectToServer(ClientManager.java:511)
    at org.glassfish.tyrus.client.ClientManager.connectToServer(ClientManager.java:355)
    at org.springframework.web.socket.client.standard.StandardWebSocketClient$1.call(StandardWebSocketClient.java:150)
    at org.springframework.web.socket.client.standard.StandardWebSocketClient$1.call(StandardWebSocketClient.java:147)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: org.glassfish.tyrus.core.HandshakeException: Response code was not 101: 200.
    at org.glassfish.tyrus.client.TyrusClientEngine.processResponse(TyrusClientEngine.java:320)
    at org.glassfish.tyrus.container.jdk.client.ClientFilter.processRead(ClientFilter.java:189)
    at org.glassfish.tyrus.container.jdk.client.Filter.onRead(Filter.java:134)
    at org.glassfish.tyrus.container.jdk.client.Filter.onRead(Filter.java:136)
    at org.glassfish.tyrus.container.jdk.client.Filter.onRead(Filter.java:136)
    at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:299)
    at org.glassfish.tyrus.container.jdk.client.TransportFilter$4.completed(TransportFilter.java:283)
    at java.base/sun.nio.ch.Invoker.invokeUnchecked(Invoker.java:127)
    at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finishRead(UnixAsynchronousSocketChannelImpl.java:437)
    at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.finish(UnixAsynchronousSocketChannelImpl.java:191)
    at java.base/sun.nio.ch.UnixAsynchronousSocketChannelImpl.onEvent(UnixAsynchronousSocketChannelImpl.java:213)
    at java.base/sun.nio.ch.EPollPort$EventHandlerTask.run(EPollPort.java:306)
    at java.base/sun.nio.ch.AsynchronousChannelGroupImpl$1.run(AsynchronousChannelGroupImpl.java:112)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    ... 1 more

0 个答案:

没有答案