Re: Trying to get a portlet to work [was Re: Administration Portlet doesn't work]

Charles Severance <[email protected]>
Newsgroups gmane.comp.jakarta.pluto.user
Message-ID <[email protected]>
I will agree with Eric and then disagree.  The answer is that "it  
depends on what you are trying to do".

For example, uPortal and other portals often have things that need to  
be done to a portlet before it is ready for use - this is because  
they are an enterprise portal and the portal administrators need to  
be "in the loop" when new capabilities are introduced.

In Sakai we are using JSR-168 as a simple "drop in/plug in" for new  
tools.  The administrator or developer drops in the new portlet and  
viola - the end users immediately see it and start adding it to their  
sites.

In Sakai we take advantage of Tomcat's hot-deploy of wars - and  
register the portlet with Sakai at war-start - this also allows live  
updating - a developer can site with Sakai and recompile / redeploy  
their webapp and hit refresh in their browser once the war re-expands  
and re-registers with Sakai through PortletServlet extensions - a  
cool developer feature.

Another reason in Sakai that we do not like manual intervention to  
install a portlet is that many Sakai installations have to hand over  
a completely configured Sakai image to the "production folks" - and  
the production folks *do not* like it when tomcat writes to local  
disk to muck with a web.xml.  They also do not like it when an  
administrator adds new functionality to a system (writing to local  
tomcat disk) through an online web form - for enterprise portals -  
this is standard operating procedure - but for an application like  
Sakai in a clustered production that needs to be restarted or app  
servers added/removed from clusters on a ver dynamic basis - we need  
a "start-able image" of a known configuration all the time.

But it depends on the goal.

Now on to the solution.  Being on 286 EG - I am convinced that there  
is little interest in standardizing web.xml for portlets - frankly -  
that is the domain of the servlet folks and 168/286 efforts define  
portlets - not servlets.  Remember that there are ways to deploy  
portlets that are not in servlet containers.

This is fine and makes a lot of sense from a standards development  
perspective.

However that does *NOT* stop us from building a defacto standard and  
following it.  For now my defacto standard for web.xml is Pluto 1.1's  
web.xml format.  Because Sakai uses Pluto 1.1 - we adopt the Pluto  
1.1 format without change.

It portal developers start using Pluto 1.1. and do not change the war  
format - then we slowly get a defacto standard - then portlet  
developers start distributing wars in the Pluto 1.1. form and we have  
a nice market for drop-in portlets.

Frankly containers like WebSphere could slip a webphere-specific  
implementation of PortletServlet into shared and then viola - they  
could take Pluto war files.  Any container could do this.

And for the enterprise portals that want to muck with the web.xml -  
they can do this if they like by providing the classic admin portlet  
to upload a war.

So for me the key here is to accept the fact that war-binary  
compatibility is a good thing for many but not all applications, and  
that we need to fix this as a community - not as a standards effort.

/Chuck

On Mar 15, 2007, at 7:08 PM, Eric Dalquist wrote:

> Troy,
>
> What many portals do is provide some sort of portlet deployment  
> tool. uPortal (which uses Pluto) does this. While it isn't as nice  
> as just dropping the WAR into the webapps directory it does shield  
> you from knowing what is going on with the web.xml or having to  
> maintain it. I actually support keeping this web.xml magic as far  
> away from the developer as possible. I have done some (cursory)  
> looking into having a portal detect new web-apps and re-write the  
> web.xml at deploy time it really seems like the portal would have  
> to have hooks into the servlet container to catch the deployment of  
> the WAR and re-write the web.xml before the container gets around  
> to parsing it.
>
> There may be some options with just looking at the webapps dir  
> every few seconds and updaing web.xmls as needed and counting on  
> tomcat to re-load the changed app but that may not be the best  
> approach since all of the webapps would get loaded twice.
>
> -Eric
>
> Troy Motte wrote:
>> It's so much fun answering my own email. But I understand now.
>> Here's how I see it: The dirty secret about Portlets is that they  
>> aren't like normal J2EE apps where you code your application and  
>> drop your war file into any standard container and everything  
>> works as expected. Your application has to be customized for the  
>> container. Specifically, your web.xml has to be mangled to suit  
>> the container. For each container, you will have to maintain a  
>> separate web.xml. You will likely have to maintain multiple IDE's,  
>> build tools, etc., since everybody seems to insist on hiding the  
>> specifics of web.xml mangling behind development tools required by  
>> the container. It would be nice if the container would handle  
>> web.xml mangling instead of doing it at build time, but that seems  
>> to be difficult, as nobody does it that way.
>>
>> I find this rather dissapointing. I'd be interested in others'  
>> perceptions.
>>
>>
>> ----- Original Message ----
>> From: Troy Motte <[email protected]>
>> To: [email protected]
>> Sent: Thursday, March 15, 2007 4:00:20 PM
>> Subject: Trying to get a portlet to work [was Re: Administration  
>> Portlet doesn't work]
>>
>> Okay I'm getting flustered.
>>
>> I've followed the configuration instructions for pluto-portal- 
>> driver-config.xml, including the portlet-app element (even though  
>> the other portlets don't seem to need this). Checking on the  
>> source code, what I'm seeing is that the portletRegistry probably  
>> doesn't have an entry for my portlet. I'm back to the same thing  
>> as ever - why doesn't Pluto recognize my portlet?
>>
>> Does anybody have any ideas? I'm totally at a loss.
>>
>> Troy
>>
>> ----- Original Message ----
>> From: Troy Motte <[email protected]>
>> To: [email protected]
>> Sent: Thursday, March 15, 2007 3:29:59 PM
>> Subject: Re: Administration Portlet doesn't work
>>
>> Well I wasn't able to get the admin portlet to completely  
>> recognize my portlet but I did manage to create a page with my  
>> portlet on it by editing pluto-portal-driver-config.xml.
>> I now get a blowup to the effect of what's below. I've implemented  
>> doView, doEdit, doHelp however.
>>
>> java.lang.NullPointerException
>>      
>> org.apache.pluto.driver.services.impl.resource.SupportedModesServiceI 
>> mpl.isPortletModeSupportedByPortlet(SupportedModesServiceImpl.java: 
>> 108)
>>      
>> org.apache.pluto.driver.services.impl.resource.SupportedModesServiceI 
>> mpl.isPortletModeSupported(SupportedModesServiceImpl.java:81)
>>      
>> org.apache.pluto.driver.config.impl.DriverConfigurationImpl.isPortlet 
>> ModeSupported(DriverConfigurationImpl.java:125)
>>      
>> org.apache.pluto.driver.tags.PortletModeAnchorTag.isPortletModeAllowe 
>> d(PortletModeAnchorTag.java:161)
>>     org.apache.pluto.driver.tags.PortletModeAnchorTag.doStartTag 
>> (PortletModeAnchorTag.java:88)
>>      
>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_plu 
>> to_modeAnchor_0(portlet_002dskin_jsp.java:178)
>>      
>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_plu 
>> to_portlet_0(portlet_002dskin_jsp.java:115)
>>      
>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService 
>> (portlet_002dskin_jsp.java:73)
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 
>> 97)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>     org.apache.jasper.servlet.JspServletWrapper.service 
>> (JspServletWrapper.java:334)
>>     org.apache.jasper.servlet.JspServlet.serviceJspFile 
>> (JspServlet.java:314)
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>     org.apache.jasper.runtime.JspRuntimeLibrary.include 
>> (JspRuntimeLibrary.java:966)
>>      
>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._js 
>> px_meth_c_forEach_2(pluto_002ddefault_002dtheme_jsp.java:746)
>>      
>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._js 
>> px_meth_c_otherwise_1(pluto_002ddefault_002dtheme_jsp.java:694)
>>      
>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._js 
>> px_meth_c_choose_1(pluto_002ddefault_002dtheme_jsp.java:562)
>>      
>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._js 
>> pService(pluto_002ddefault_002dtheme_jsp.java:159)
>>     org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java: 
>> 97)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>     org.apache.jasper.servlet.JspServletWrapper.service 
>> (JspServletWrapper.java:334)
>>     org.apache.jasper.servlet.JspServlet.serviceJspFile 
>> (JspServlet.java:314)
>>     org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>     org.apache.pluto.driver.PortalDriverServlet.doGet 
>> (PortalDriverServlet.java:147)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>     javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>
>> ----- Original Message ----
>> From: Troy Motte <[email protected]>
>> To: [email protected]
>> Sent: Thursday, March 15, 2007 2:37:41 PM
>> Subject: Re: Administration Portlet doesn't work
>>
>> Okay thanks for letting me know.
>> I tried 1.1.0 and the admin page works fine. Now I only need to  
>> deploy my portlet.
>>
>> I created a war file and successfully deployed it into the tomcat  
>> instance that's part of the bundle. But I'm trying to figure out  
>> how to get Pluto to notice it. Note that I have yet to  
>> successfully deploy a portlet in anyone's portlet container and  
>> I'm really not sure what I'm missing.
>> I've noticed that when I look at other portlets there are often  
>> Servlets mentioned in web.xml that seem to parallel the portlet  
>> itself. I've never seen anything in the Portlet Spec about that.  
>> Should I be writing some servlets? Just trying to hello world  
>> right now.
>>
>> If there's a better mailing list for my questions please feel free  
>> to direct me to it...
>>
>> Troy
>> ----- Original Message ----
>> From: David H. DeWolf <[email protected]>
>> To: [email protected]
>> Sent: Thursday, March 15, 2007 12:49:08 PM
>> Subject: Re: Administration Portlet doesn't work
>>
>> Thanks for the update.
>>
>> This is a known issue with version 1.1.1.  It has been fixed in  
>> the trunk and 1.1.2 is due out shortly.  If you'd like, role back  
>> to 1.1.0 and you should be fine.
>>
>>
>> David
>>
>> Troy Motte wrote:
>>
>>> Hello,
>>>
>>> I just downloaded the pluto "bundle" from
>>>   http://www.eng.lsu.edu/mirrors/apache/portals/pluto/pluto- 
>>> current-bundle.zip.    I installed and after setting JAVA_HOME in  
>>> bin/startup.bat I had it up and running. I went to:
>>>
>>>   http://localhost:8080/pluto
>>>
>>> That looked fine. I eventually recognized that "Navigation" is a  
>>> menu, and went to "Pluto Admin". That took me to this URL:
>>>
>>>   http://localhost:8080/pluto/portal/Pluto%20Admin
>>>
>>> The Pluto Page Administrator portlet printed the somewhat cryptic  
>>> stack trace enclosed below.
>>> I was really hoping to be able to find something I could test  
>>> simple portlets on without having to install a variety of IDE's,  
>>> build scripting environments, etc.. Is Pluto capable of providing  
>>> that facility or am I asking too much? I had no luck with Jetspeed.
>>>
>>> Troy
>>>
>>> javax.portlet.PortletException
>>>     at  
>>> org.apache.pluto.internal.impl.PortletRequestDispatcherImpl.include( 
>>> PortletRequestDispatcherImpl.java:114)
>>>     at org.apache.pluto.driver.portlets.GenericPlutoPortlet.doView 
>>> (GenericPlutoPortlet.java:39)
>>>     at org.apache.pluto.driver.portlets.PageAdminPortlet.doView 
>>> (PageAdminPortlet.java:89)
>>>     at javax.portlet.GenericPortlet.doDispatch 
>>> (GenericPortlet.java:247)
>>>     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
>>>     at org.apache.pluto.core.PortletServlet.dispatch 
>>> (PortletServlet.java:198)
>>>     at org.apache.pluto.core.PortletServlet.doGet 
>>> (PortletServlet.java:141)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.pluto.core.DefaultPortletInvokerService.invoke 
>>> (DefaultPortletInvokerService.java:169)
>>>     at org.apache.pluto.core.DefaultPortletInvokerService.render 
>>> (DefaultPortletInvokerService.java:103)
>>>     at org.apache.pluto.core.PortletContainerImpl.doRender 
>>> (PortletContainerImpl.java:178)
>>>     at org.apache.pluto.driver.tags.PortletTag.doStartTag 
>>> (PortletTag.java:153)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_pl 
>>> uto_portlet_0(portlet_002dskin_jsp.java:101)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService 
>>> (portlet_002dskin_jsp.java:76)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.jasper.runtime.JspRuntimeLibrary.include 
>>> (JspRuntimeLibrary.java:966)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_forEach_2(pluto_002ddefault_002dtheme_jsp.java:746)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_otherwise_1(pluto_002ddefault_002dtheme_jsp.java:694)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_choose_1(pluto_002ddefault_002dtheme_jsp.java:562)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spService(pluto_002ddefault_002dtheme_jsp.java:159)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.processRequest 
>>> (ApplicationDispatcher.java:463)
>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward 
>>> (ApplicationDispatcher.java:398)
>>>     at org.apache.catalina.core.ApplicationDispatcher.forward 
>>> (ApplicationDispatcher.java:301)
>>>     at org.apache.pluto.driver.PortalDriverServlet.doGet 
>>> (PortalDriverServlet.java:147)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter 
>>> (ApplicationFilterChain.java:173)
>>>     at org.apache.catalina.core.StandardWrapperValve.invoke 
>>> (StandardWrapperValve.java:213)
>>>     at org.apache.catalina.core.StandardContextValve.invoke 
>>> (StandardContextValve.java:178)
>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke 
>>> (AuthenticatorBase.java:524)
>>>     at org.apache.catalina.core.StandardHostValve.invoke 
>>> (StandardHostValve.java:126)
>>>     at org.apache.catalina.valves.ErrorReportValve.invoke 
>>> (ErrorReportValve.java:105)
>>>     at org.apache.catalina.authenticator.SingleSignOn.invoke 
>>> (SingleSignOn.java:419)
>>>     at org.apache.catalina.core.StandardEngineValve.invoke 
>>> (StandardEngineValve.java:107)
>>>     at org.apache.catalina.connector.CoyoteAdapter.service 
>>> (CoyoteAdapter.java:148)
>>>     at org.apache.coyote.http11.Http11Processor.process 
>>> (Http11Processor.java:869)
>>>     at org.apache.coyote.http11.Http11BaseProtocol 
>>> $Http11ConnectionHandler.processConnection 
>>> (Http11BaseProtocol.java:664)
>>>     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket 
>>> (PoolTcpEndpoint.java:527)
>>>     at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt 
>>> (LeaderFollowerWorkerThread.java:80)
>>>     at org.apache.tomcat.util.threads.ThreadPool 
>>> $ControlRunnable.run(ThreadPool.java:684)
>>>     at java.lang.Thread.run(Thread.java:595)
>>> Caused by: javax.servlet.ServletException
>>>     at  
>>> org.apache.jasper.runtime.PageContextImpl.doHandlePageException 
>>> (PageContextImpl.java:843)
>>>     at  
>>> org.apache.jasper.runtime.PageContextImpl.handlePageException 
>>> (PageContextImpl.java:776)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.fragments.admin.page.view_jsp._jspService 
>>> (view_jsp.java:263)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.pluto.internal.impl.PortletRequestDispatcherImpl.include( 
>>> PortletRequestDispatcherImpl.java:107)
>>>     ... 66 more
>>>
>>> Nested Exception is javax.servlet.ServletException
>>>     at  
>>> org.apache.jasper.runtime.PageContextImpl.doHandlePageException 
>>> (PageContextImpl.java:843)
>>>     at  
>>> org.apache.jasper.runtime.PageContextImpl.handlePageException 
>>> (PageContextImpl.java:776)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.fragments.admin.page.view_jsp._jspService 
>>> (view_jsp.java:263)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.pluto.internal.impl.PortletRequestDispatcherImpl.include( 
>>> PortletRequestDispatcherImpl.java:107)
>>>     at org.apache.pluto.driver.portlets.GenericPlutoPortlet.doView 
>>> (GenericPlutoPortlet.java:39)
>>>     at org.apache.pluto.driver.portlets.PageAdminPortlet.doView 
>>> (PageAdminPortlet.java:89)
>>>     at javax.portlet.GenericPortlet.doDispatch 
>>> (GenericPortlet.java:247)
>>>     at javax.portlet.GenericPortlet.render(GenericPortlet.java:175)
>>>     at org.apache.pluto.core.PortletServlet.dispatch 
>>> (PortletServlet.java:198)
>>>     at org.apache.pluto.core.PortletServlet.doGet 
>>> (PortletServlet.java:141)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.pluto.core.DefaultPortletInvokerService.invoke 
>>> (DefaultPortletInvokerService.java:169)
>>>     at org.apache.pluto.core.DefaultPortletInvokerService.render 
>>> (DefaultPortletInvokerService.java:103)
>>>     at org.apache.pluto.core.PortletContainerImpl.doRender 
>>> (PortletContainerImpl.java:178)
>>>     at org.apache.pluto.driver.tags.PortletTag.doStartTag 
>>> (PortletTag.java:153)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspx_meth_pl 
>>> uto_portlet_0(portlet_002dskin_jsp.java:101)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.portlet_002dskin_jsp._jspService 
>>> (portlet_002dskin_jsp.java:76)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.apache.jasper.runtime.JspRuntimeLibrary.include 
>>> (JspRuntimeLibrary.java:966)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_forEach_2(pluto_002ddefault_002dtheme_jsp.java:746)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_otherwise_1(pluto_002ddefault_002dtheme_jsp.java:694)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spx_meth_c_choose_1(pluto_002ddefault_002dtheme_jsp.java:562)
>>>     at  
>>> org.apache.jsp.WEB_002dINF.themes.pluto_002ddefault_002dtheme_jsp._j 
>>> spService(pluto_002ddefault_002dtheme_jsp.java:159)
>>>     at org.apache.jasper.runtime.HttpJspBase.service 
>>> (HttpJspBase.java:97)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at org.apache.jasper.servlet.JspServletWrapper.service 
>>> (JspServletWrapper.java:334)
>>>     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:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     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.processRequest 
>>> (ApplicationDispatcher.java:463)
>>>     at org.apache.catalina.core.ApplicationDispatcher.doForward 
>>> (ApplicationDispatcher.java:398)
>>>     at org.apache.catalina.core.ApplicationDispatcher.forward 
>>> (ApplicationDispatcher.java:301)
>>>     at org.apache.pluto.driver.PortalDriverServlet.doGet 
>>> (PortalDriverServlet.java:147)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
>>>     at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
>>>     at  
>>> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter 
>>> (ApplicationFilterChain.java:252)
>>>     at org.apache.catalina.core.ApplicationFilterChain.doFilter 
>>> (ApplicationFilterChain.java:173)
>>>     at org.apache.catalina.core.StandardWrapperValve.invoke 
>>> (StandardWrapperValve.java:213)
>>>     at org.apache.catalina.core.StandardContextValve.invoke 
>>> (StandardContextValve.java:178)
>>>     at org.apache.catalina.authenticator.AuthenticatorBase.invoke 
>>> (AuthenticatorBase.java:524)
>>>     at org.apache.catalina.core.StandardHostValve.invoke 
>>> (StandardHostValve.java:126)
>>>     at org.apache.catalina.valves.ErrorReportValve.invoke 
>>> (ErrorReportValve.java:105)
>>>     at org.apache.catalina.authenticator.SingleSignOn.invoke 
>>> (SingleSignOn.java:419)
>>>     at org.apache.catalina.core.StandardEngineValve.invoke 
>>> (StandardEngineValve.java:107)
>>>     at org.apache.catalina.connector.CoyoteAdapter.service 
>>> (CoyoteAdapter.java:148)
>>>     at org.apache.coyote.http11.Http11Processor.process 
>>> (Http11Processor.java:869)
>>>     at org.apache.coyote.http11.Http11BaseProtocol 
>>> $Http11ConnectionHandler.processConnection 
>>> (Http11BaseProtocol.java:664)
>>>     at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket 
>>> (PoolTcpEndpoint.java:527)
>>>     at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt 
>>> (LeaderFollowerWorkerThread.java:80)
>>>     at org.apache.tomcat.util.threads.ThreadPool 
>>> $ControlRunnable.run(ThreadPool.java:684)
>>>     at java.lang.Thread.run(Thread.java:595)
>>>
>>>
>>>
>>>
>>>
>>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.