Note that there are some explanatory texts on larger screens.

plurals
  1. POTomcat WebSocket error
    primarykey
    data
    text
    <p>I followed this <a href="https://gist.github.com/chitan/3063774" rel="nofollow">link</a> to make websocket server using tomcat. When I tried to access the websocket my firefox said it can't establish a connection.</p> <p>Here is my code</p> <pre><code>public class WsChatServlet extends WebSocketServlet { private static final long serialVersionUID = 1L; private static ArrayList&lt;MyMessageInbound&gt; mmiList = new ArrayList&lt;MyMessageInbound&gt;(); @Override protected StreamInbound createWebSocketInbound(String string) { System.out.println("CreateWebSocketInbound()"); return new MyMessageInbound(); } private class MyMessageInbound extends MessageInbound { WsOutbound myoutbound; @Override protected void onBinaryMessage(ByteBuffer bb) throws IOException { System.out.println("onBinaryMessage()"); } @Override protected void onTextMessage(CharBuffer cb) throws IOException { System.out.println("Accept Message : "+ cb); for (MyMessageInbound mmib : mmiList) { CharBuffer buffer = CharBuffer.wrap(cb); mmib.myoutbound.writeTextMessage(CharBuffer.wrap("Hello!")); mmib.myoutbound.flush(); } } @Override protected void onOpen(WsOutbound outbound) { System.out.println("onOpen()"); try { System.out.println("Open Client."); this.myoutbound = outbound; mmiList.add(this); outbound.writeTextMessage(CharBuffer.wrap("Hello!")); } catch (IOException ex) { Logger.getLogger(WsChatServlet.class.getName()).log(Level.SEVERE, null, ex); } } @Override protected void onClose(int status) { System.out.println("Close Client."); mmiList.remove(this); } } </code></pre> <p>Here is the server log </p> <pre><code>24 Apr 13 22:53:09 org.apache.catalina.core.StandardWrapperValve invoke SEVERE: Servlet.service() for servlet [WsChatServlet] in context with path [/HelloWebSocket] threw exception java.lang.ClassCastException: org.netbeans.modules.web.monitor.server.MonitorRequestWrapper cannot be cast to org.apache.catalina.connector.RequestFacade at org.apache.catalina.websocket.WebSocketServlet.doGet(WebSocketServlet.java:126) at javax.servlet.http.HttpServlet.service(HttpServlet.java:621) at javax.servlet.http.HttpServlet.service(HttpServlet.java:722) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:305) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.netbeans.modules.web.monitor.server.MonitorFilter.doFilter(MonitorFilter.java:393) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:243) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:210) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:225) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:169) at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:168) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:98) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:927) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:118) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:999) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:565) at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:307) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908) at java.lang.Thread.run(Thread.java:662) </code></pre> <p>How to solve this problem and how to make the log inside code format?</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload