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

encodeUrl fails parsing jsessionid when using root context

    Details

    • Type: Bug
    • Status: Resolved
    • Priority: Minor
    • Resolution: Fixed
    • Affects Version/s: 1.5.9
    • Fix Version/s: 6.4.0, 1.5.10
    • Component/s: None
    • Labels:
      None

      Description

      We are using Selenium 2.26.0 to test our Wicket application, using Jetty 6.1.25 (also tried 7.0.0.pre5) and Firefox 12 as client browser.

      With Wicket 1.5.8 everything worked fine but updating to 1.5.9 the following error occurs on first request:

      java.lang.NumberFormatException: For input string: "56704;jsessionid=t3j8z4tsuazh1jfbcnjr8ryg"
      at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
      at java.lang.Integer.parseInt(Integer.java:458)
      at java.lang.Integer.parseInt(Integer.java:499)
      at org.apache.wicket.request.Url.parse(Url.java:195)
      at org.apache.wicket.request.Url.parse(Url.java:121)
      at org.apache.wicket.protocol.http.servlet.ServletWebResponse.encodeURL(ServletWebResponse.java:194)
      at org.apache.wicket.protocol.http.HeaderBufferingWebResponse.encodeURL(HeaderBufferingWebResponse.java:161)
      at org.apache.wicket.request.cycle.RequestCycle.renderUrl(RequestCycle.java:524)
      at org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:492)
      at org.apache.wicket.request.cycle.RequestCycle.urlFor(RequestCycle.java:477)
      at org.apache.wicket.Component.urlFor(Component.java:3319)
      at org.apache.wicket.markup.html.link.BookmarkablePageLink.getURL(BookmarkablePageLink.java:209)
      at org.apache.wicket.markup.html.link.Link.onComponentTag(Link.java:361)
      at org.apache.wicket.Component.internalRenderComponent(Component.java:2530)
      at org.apache.wicket.MarkupContainer.onRender(MarkupContainer.java:1530)
      at org.apache.wicket.Component.internalRender(Component.java:2389)
      at org.apache.wicket.Component.render(Component.java:2317)
      at org.apache.wicket.MarkupContainer.renderNext(MarkupContainer.java:1428)
      at org.apache.wicket.MarkupContainer.renderAll(MarkupContainer.java:1592)
      at org.apache.wicket.Page.onRender(Page.java:907)
      at org.apache.wicket.markup.html.WebPage.onRender(WebPage.java:140)
      at org.apache.wicket.Component.internalRender(Component.java:2389)
      at org.apache.wicket.Component.render(Component.java:2317)
      at org.apache.wicket.Page.renderPage(Page.java:1035)
      at org.apache.wicket.request.handler.render.WebPageRenderer.renderPage(WebPageRenderer.java:118)
      at org.apache.wicket.request.handler.render.WebPageRenderer.respond(WebPageRenderer.java:246)
      at org.apache.wicket.request.handler.RenderPageRequestHandler.respond(RenderPageRequestHandler.java:167)
      at org.apache.wicket.request.cycle.RequestCycle$HandlerExecutor.respond(RequestCycle.java:784)
      at org.apache.wicket.request.RequestHandlerStack.execute(RequestHandlerStack.java:64)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:304)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.executeExceptionRequestHandler(RequestCycle.java:313)
      at org.apache.wicket.request.cycle.RequestCycle.processRequest(RequestCycle.java:227)
      at org.apache.wicket.request.cycle.RequestCycle.processRequestAndDetach(RequestCycle.java:283)
      at org.apache.wicket.protocol.http.WicketFilter.processRequest(WicketFilter.java:188)
      at org.apache.wicket.protocol.http.WicketFilter.doFilter(WicketFilter.java:244)

      Using debugger, the encodeUrl method has variables

      fullUrl = http://localhost:56704
      encodedFullUrl = http://localhost:56704;jsessionid=8kxeo3reannw1qjtxgkju8yiu

      before the exception occurs. I believe this is related to https://issues.apache.org/jira/browse/WICKET-4645.

        Issue Links

          Activity

          Hide
          svenmeier Sven Meier added a comment -

          semicolon ( starts segments if no slash is present

          Show
          svenmeier Sven Meier added a comment - semicolon ( starts segments if no slash is present

            People

            • Assignee:
              svenmeier Sven Meier
              Reporter:
              seco Jukka Siivonen
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Development