Uploaded image for project: 'Wicket'
  1. Wicket
  2. WICKET-6064

WebSocketResponse.sendRedirect could be supported with <ajax-response><redirect>...</></>

    XMLWordPrintableJSON

Details

    Description

      When you send a message using IWebSocketConnection.sendMessage() and an exeption is raised somewhere during processing of this message you can get the following exception (the orignal exception is lost):

      Error during processing error message
      java.lang.UnsupportedOperationException
          at org.apache.wicket.protocol.ws.api.WebSocketResponse.sendRedirect(WebSocketResponse.java:205)
          at org.apache.wicket.request.handler.render.WebPageRenderer.redirectTo(WebPageRenderer.java:176)
          at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:327)
          at org.apache.wicket.core.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:175)
          at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:890)
          at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:310)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:319)
          at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:233)
          at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:289)
          at org.apache.wicket.protocol.ws.api.AbstractWebSocketProcessor.broadcastMessage(AbstractWebSocketProcessor.java:251)
          at org.apache.wicket.protocol.ws.api.AbstractWebSocketConnection.sendMessage(AbstractWebSocketConnection.java:43)
      

      This is because WebPageRenderer by default calls redirectTo method. So it looks like WebSocketResponse.sendRedirect() should not throw exception in the default implementation?

      Attachments

        1. websocket-errors.zip
          40 kB
          Daniel Stoch

        Activity

          People

            mgrigorov Martin Tzvetanov Grigorov
            interface Daniel Stoch
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: