Клиент Websocket не работает из апплета

Я использую библиотеку Ning http для подключения к серверу websocket (Weblogic 12.1.2) с помощью этого кода:

WebSocket ws = new AsyncHttpClient().prepareGet(uri.toASCIIString()).execute(new WebSocketUpgradeHandler.Builder().build()).get();
ws.addWebSocketListener(this);
ws.sendTextMessage(message);

Работает нормально при запуске в тесте JUnit. Но когда я запускаю точно такой же код из апплета (на том же компьютере), я получаю это исключение:

java.util.concurrent.ExecutionException: java.io.IOException: Invalid handshake response
at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:324)
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.abort(NettyAsyncHttpProvider.java:1320)
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.access$800(NettyAsyncHttpProvider.java:155)
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider$WebSocketProtocol.handle(NettyAsyncHttpProvider.java:2312)
at com.ning.http.client.providers.netty.NettyAsyncHttpProvider.messageReceived(NettyAsyncHttpProvider.java:1142)
at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:70)
at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:564)

В чем может быть причина? Из проволочной акулы я вижу, что версия WebSocket - 13 в обоих случаях. Я не пользуюсь безопасным ws.

1 ответ

Решение

Я выполнял точно такой же код, но URI был другим, поэтому он не соответствовал шаблону на сервере:(Все работает отлично.

Другие вопросы по тегам