3 Replies Latest reply on Apr 28, 2006 6:06 AM by gruenewa

    MyFaces Portlet crashes

    gruenewa

      Hello JBoss Portal Developers,

      I have written several portlet applications using apache myfaces. Now I think i have discovered a bug. My application renderes a link using the outputLink tag. It works fine if the application runs as standalone web application. It crashes when it runs as a portlet inside JBoss Portal. The outputLink tag works if the URL starts with http:// and it doesn't otherwise. Is this a problem according to link rewritting in the portal server? Is there a known bugfix?

      The following link should be o.k.

      <h:outputLink value="http://abc.defg.org/test.xml">This link works fine</h:outputLink>
      



      The following link causes a problem:
      <h:outputLink value="ftp://abc.defg.org/test.xml">This link causes a crash</h:outputLink>
      


      Thanks

        • 1. Re: MyFaces Portlet crashes
          gruenewa

          I forgot to attach the stack trace. Here is a snippet of it's most important part:

          10:49:39,610 ERROR [[/gsefm-service-discovery]] Root cause of PortletException: invalid URL ftp://abc.defg.org/test.xml
          org.apache.jasper.JasperException: invalid URL ftp://abc.defg.org/test.xml
           at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:370)
           at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
           at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
           at javax.servlet.http.HttpServlet.service(HttpServlet.java:810)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252
          )
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.jboss.portal.portlet.impl.PortletRequestDispatcherImpl.execute(PortletRequestDispatcherImpl.
          java:77)
           at sun.reflect.GeneratedMethodAccessor497.invoke(Unknown Source)
           at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
           at java.lang.reflect.Method.invoke(Method.java:589)
           at org.jboss.portal.server.servlet.CommandFilter.doFilter(CommandFilter.java:65)
           at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202
          )
           at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
           at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:672)
           at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:574)
           at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:499)
           at org.jboss.portal.portlet.impl.PortletRequestDispatcherImpl.include(PortletRequestDispatcherImpl.
          java:98)
           at org.apache.myfaces.context.portlet.PortletExternalContextImpl.dispatch(PortletExternalContextImp
          l.java:169)
           at org.apache.myfaces.application.jsp.JspViewHandlerImpl.renderView(JspViewHandlerImpl.java:242)
           at org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:300)
           at org.apache.myfaces.portlet.MyFacesGenericPortlet.facesRender(MyFacesGenericPortlet.java:365)
           at org.apache.myfaces.portlet.MyFacesGenericPortlet.doView(MyFacesGenericPortlet.java:258)
           at javax.portlet.GenericPortlet.doDispatch(GenericPortlet.java:167)
           at javax.portlet.GenericPortlet.render(GenericPortlet.java:407)
           at org.jboss.portal.portlet.PortletContainer.invokeRender(PortletContainer.java:512)
           at org.jboss.portal.portlet.PortletContainer.dispatch(PortletContainer.java:429)
           at org.jboss.portal.server.app.ComponentInvocation.dispatch(ComponentInvocation.java:79)
           at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:140)
           at org.jboss.portal.core.aspects.component.TransactionInterceptor.invoke(TransactionInterceptor.jav
          a:72)
           at org.jboss.portal.server.app.ComponentInterceptor.invoke(ComponentInterceptor.java:38)
           at org.jboss.portal.server.invocation.Invocation.invokeNext(Invocation.java:130)
          


          • 2. Re: MyFaces Portlet crashes

            I don't believe this is an issue with Portal, its how myfaces handles the ftp link.

            • 3. Re: MyFaces Portlet crashes
              gruenewa

              Thanks for your response. I have submitted a report in the myfaces forum. People there guess it is a problem with jasper (tomcats jsp engine) that cann't process the given jsp. Looks like I should run my applications with JSF RI.