0 Replies Latest reply on Oct 31, 2014 2:52 PM by Jacob Engstrand

    Websocket ClientEndpoint OnMessage-method not called when large String (length 20000) is sent

    Jacob Engstrand Newbie

      I am using WildFly with javax.websocket.ClientEndpoint and javax.websocket.OnMessage from JavaSE-1.8 on the client side.


      The server (built with Annotations) always sends a string with a length of 20000 characters back to the client when a message comes in:


      public class MyEndpoint {
        public String onMessage(String message, Session session) {
          session.getBasicRemote().sendText( "eg String with length 20000 .... ... ..." );


      Now, when the client sends a request it should receive this response from the server via my processMessage() function.


      public class Receiver {
        public void processMessage(String message, Session session) {
           System.out.println("Message received: " + message );


      This works well for strings shorter than ~500 characters.


      Longer strings simply disappear without raising any error - no exception is raised on the client nor the server.


      I have set MaxTextMessageBufferSize without any effect.




      During testing this I found that using a Browser as a client works without any issues. Using the alternative implementation from org.java_websocket.client.WebSocketClient also works without issues.


      So the problem only shows when using javax.websocket. I still would prefer to use javax.websocket because of it's Session-ID support.


      Any idea how to fix this or debug the problem? Since nothing is received on the client side I have no idea where to start debugging this.