Wicket
  1. Wicket
  2. WICKET-4877

encodeUrl fails parsing jsessionid when using root context

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Minor 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

          No work has yet been logged on this issue.

            People

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

              Dates

              • Created:
                Updated:
                Resolved:

                Development