Announcement Announcement Module
Collapse
No announcement yet.
Portlet InvalidURLException The provided portlet url is invalid. Page Title Module
Move Remove Collapse
X
Conversation Detail Module
Collapse
  • Filter
  • Time
  • Show
Clear All
new posts

  • Portlet InvalidURLException The provided portlet url is invalid.

    Hi,
    Iam developing a spring portlet application.

    Iam facing a problem like on every portlet request Iam getting an Invalid url exception and teh message like the provided portlet url is invalid.

    Iam using a portlet renderURL tag.

    <a href='<portlet:renderURL>
    <portletaram name="action" value="selectProduct" />
    </portlet:renderURL>'>
    select Product </a>

    the generated portlet url looks like this.

    http://localhost:9080/ESavingsPortle...=selectProduct

    The full stack trace is as below.

    [10-3-08 23:35:41:134 CET] 00000026 SystemOut O [2008-03-10 23:35:41,134] DEBUG nl.rabobank.esavings.controller.SelectProductContr oller Setting form session attribute [nl.rabobank.esavings.controller.SelectProductContr oller.FORM.clientAccountDetails] to: null
    [10-3-08 23:35:41:150 CET] 00000026 DefaultFilter E com.ibm.ws.portletcontainer.portletserving.filter. DefaultFilter doFilter EJPPC2001E: Error occurred during portlet action.
    com.ibm.wsspi.portletcontainer.InvalidURLException : EJPPC2006E: An InvalidURLException occurred. The provided portlet url is invalid.
    at com.ibm.wsspi.portletcontainer.util.PortletURLHelp er.analyzePathInfo(PortletURLHelper.java:314)
    at com.ibm.wsspi.portletcontainer.util.PortletURLHelp er.analyzePathInfo(PortletURLHelper.java:254)
    at com.ibm.wsspi.portletcontainer.util.PortletURLHelp er.<init>(PortletURLHelper.java:118)
    at com.ibm.ws.portletcontainer.portletserving.filter. DefaultFilter.doFilter(DefaultFilter.java:74)
    at com.ibm.ws.portletcontainer.portletserving.filter. PortletDocumentFilterChain.doFilter(PortletDocumen tFilterChain.java:49)
    at com.ibm.ws.portletcontainer.portletserving.filter. PortletDocumentFilterContainer.doFilter(PortletDoc umentFilterContainer.java:51)
    at com.ibm.ws.webcontainer.filter.FilterInstanceWrapp er.doFilter(FilterInstanceWrapper.java:190)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain.d oFilter(WebAppFilterChain.java:130)
    at com.ibm.ws.webcontainer.filter.WebAppFilterChain._ doFilter(WebAppFilterChain.java:87)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:761)
    at com.ibm.ws.webcontainer.filter.WebAppFilterManager .doFilter(WebAppFilterManager.java:673)
    at com.ibm.ws.webcontainer.servlet.ServletWrapper.han dleRequest(ServletWrapper.java:498)
    at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.h andleRequest(ServletWrapper.java:464)
    at com.ibm.wsspi.webcontainer.servlet.GenericServletW rapper.handleRequest(GenericServletWrapper.java:12 2)
    at com.ibm.ws.webcontainer.webapp.WebApp.handleReques t(WebApp.java:3252)
    at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequ est(WebGroup.java:264)
    at com.ibm.ws.webcontainer.WebContainer.handleRequest (WebContainer.java:811)
    at com.ibm.ws.wswebcontainer.WebContainer.handleReque st(WebContainer.java:1439)
    at com.ibm.ws.webcontainer.channel.WCChannelLink.read y(WCChannelLink.java:112)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLi nk.handleDiscrimination(HttpInboundLink.java:454)
    at com.ibm.ws.http.channel.inbound.impl.HttpInboundLi nk.handleNewInformation(HttpInboundLink.java:383)
    at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCa llback.complete(HttpICLReadCallback.java:102)
    at com.ibm.ws.tcp.channel.impl.AioReadCompletionListe ner.futureCompleted(AioReadCompletionListener.java :165)
    at com.ibm.io.async.AbstractAsyncFuture.invokeCallbac k(AbstractAsyncFuture.java:217)
    at com.ibm.io.async.AsyncChannelFuture.fireCompletion Actions(AsyncChannelFuture.java:161)
    at com.ibm.io.async.AsyncFuture.completed(AsyncFuture .java:136)
    at com.ibm.io.async.ResultHandler.complete(ResultHand ler.java:195)
    at com.ibm.io.async.ResultHandler.runEventProcessingL oop(ResultHandler.java:743)
    at com.ibm.io.async.ResultHandler$2.run(ResultHandler .java:873)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.j ava:1469)


    can some one please let me know why this exception is occuring.


    Thanks,
    sunil.

  • #2
    No idea. This is a straight WebSphere problem. The URL is being generated by WebSphere's implementation of the portlet JSP tags and the exception is being thrown by WebSphere's own portlet URL handling. I suggest you ask this question in an appropriate WebSphere forum.

    One suggestion: try constructing the URL in your Controller via the RenderResponse object and then pass it out as part of your Model. Just to see if the resulting URL is at all different.

    Comment


    • #3
      Most probably, your application is really producing invalid URLs. This is extremely easy, any relative URL in a portlet page will do. For example, if you have the following <img src="myimg.jpg"> on a page you obtained from /localhost/portletname/portletname/default/ver=1.0/rparam=action=actionname, you just produced the invalid URL /localhost/portletname/portletname/default/ver=1.0/t.jpg.

      I came across this post because I was experiencing the same problem before I realized what was going on. It is a shame the Websphere message does not show the invalid URL, it would be immediately obvious then.

      Comment


      • #4
        any reason why you used portlet:renderURL tag in place of portlet:actionURL?

        Comment

        Working...
        X