You are viewing a plain text version of this content. The canonical link for it is here.
Posted to pluto-dev@portals.apache.org by "Craig Doremus (JIRA)" <pl...@jakarta.apache.org> on 2005/05/05 23:49:08 UTC
[jira] Commented: (PLUTO-123) nullPointerException from PortletInvokerImpl.java:107
[ http://issues.apache.org/jira/browse/PLUTO-123?page=comments#action_64591 ]
Craig Doremus commented on PLUTO-123:
-------------------------------------
Your web.xml appears to be OK, but your portlet.xml does not have the correct root element. Substitute your portlet-app element for this one:
<portlet-app xmlns="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd" version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd http://java.sun.com/xml/ns/portlet/portlet-app_1_0.xsd">
> nullPointerException from PortletInvokerImpl.java:107
> -----------------------------------------------------
>
> Key: PLUTO-123
> URL: http://issues.apache.org/jira/browse/PLUTO-123
> Project: Pluto
> Type: Bug
> Versions: 1.0.1-rc3
> Environment: Windows 2000, Tomcat 5.5.7, Sun Java 1.5.0_02
> Reporter: Joe W Larson
>
> I've seen numerous references to this all over the web and here as well, but have followed the suggested solutions and am still not getting there.
> I trying to deploy a simple HelloWorld portlet so I can get something to start working with (I am entirely new to the Apache Tomcat/Pluto/Portlet/JSP world and I have to tell you, there is a lot to learn! So if I've missed something that seems obvious, be gentle...).
> I have created a WAR file I think is done correctly, you can grab a copy here http://www.businesslink.com/~joseph/Hello.war.
> I go into the pluto admin portal page, and use the Deploy portlet to upload the war file. I go through follow the rest of the onscreen instructions, including restarting Pluto (via restarting Tomcat).
> When I try to access my portlet, this shows up in the console:
> ------------------------------
> INFO: Initializing PortletContainer [pluto]...
> Mar 30, 2005 1:31:13 PM org.apache.pluto.portalImpl.services.log.LoggerImpl info
> null
> Mar 30, 2005 1:31:13 PM org.apache.pluto.portalImpl.services.log.LoggerImpl error
> SEVERE: Error in Portlet
> java.lang.NullPointerException
> at org.apache.pluto.invoker.impl.PortletInvokerImpl.invoke(PortletInvokerImpl.java:107)
> at org.apache.pluto.invoker.impl.PortletInvokerImpl.load(PortletInvokerImpl.java:81)
> at org.apache.pluto.PortletContainerImpl.portletLoad(PortletContainerImpl.java:203)
> at org.apache.pluto.portalImpl.core.PortletContainerWrapperImpl.portletLoad(PortletContainerWrapperImpl.java:94)
> at org.apache.pluto.portalImpl.aggregation.PortletFragment.service(PortletFragment.java:120)
> at org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp:65)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp:65)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp:74)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp:132)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.pluto.portalImpl.Servlet.doGet(Servlet.java:197)
> 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:214)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 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:825)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
> 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(Unknown Source)
> Mar 30, 2005 1:31:13 PM org.apache.catalina.core.ApplicationDispatcher invoke
> SEVERE: Servlet.service() for servlet jsp threw exception
> java.lang.NullPointerException
> at org.apache.pluto.portalImpl.aggregation.PortletFragment.service(PortletFragment.java:151)
> at org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.ColumnFragment_jsp:65)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.RowFragment_jsp:65)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.PageFragment_jsp:74)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp._jspService(org.apache.jsp.WEB_002dINF.aggregation.RootFragment_jsp:132)
> at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:99)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
> at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:325)
> at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295)
> at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245)
> 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:673)
> at org.apache.catalina.core.ApplicationDispatcher.doInclude(ApplicationDispatcher.java:575)
> at org.apache.catalina.core.ApplicationDispatcher.include(ApplicationDispatcher.java:500)
> at org.apache.pluto.portalImpl.aggregation.AbstractFragment.service(AbstractFragment.java:112)
> at org.apache.pluto.portalImpl.Servlet.doGet(Servlet.java:197)
> 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:214)
> at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
> at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:407)
> at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
> at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
> 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:825)
> at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:738)
> at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:526)
> 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(Unknown Source)
> Mar 30, 2005 1:31:13 PM org.apache.catalina.core.ApplicationDispatcher invoke
> ------------
> There are several more iterations of the last nullpointerexception, apparently identical to each other.
> My portletentityregistry.xml ends up looking like this:
> ------------------------
> <?xml version="1.0"?>
> <portlet-entity-registry>
> <application id="3">
> <definition-id>testsuite</definition-id>
> <portlet id="1">
> <definition-id>testsuite.TestPortlet1</definition-id>
> <preferences>
> <pref-name>TEST</pref-name>
> <pref-value>TEST_VALUE</pref-value>
> <pref-value>ANOTHER</pref-value>
> <read-only>false</read-only>
> </preferences>
> <preferences>
> <pref-name>TestName4</pref-name>
> <pref-value>TestValue4</pref-value>
> <read-only>true</read-only>
> </preferences>
> <preferences>
> <pref-name>org.apache.pluto.testsuite.BOGUS_KEY</pref-name>
> <pref-value>notTheOriginal</pref-value>
> <read-only>false</read-only>
> </preferences>
> </portlet>
> </application>
> <application id="4">
> <definition-id>testsuite</definition-id>
> <portlet id="1">
> <definition-id>testsuite.TestPortlet2</definition-id>
> <preferences>
> <pref-name>TestName4</pref-name>
> <pref-value>TestValue4</pref-value>
> <read-only>true</read-only>
> </preferences>
> </portlet>
> </application>
> <application id="5">
> <definition-id>pluto</definition-id>
> <portlet id="0">
> <definition-id>pluto.deploywar</definition-id>
> </portlet>
> <portlet id="1">
> <definition-id>pluto.portletentityregistry</definition-id>
> </portlet>
> <portlet id="2">
> <definition-id>pluto.pageregistry</definition-id>
> </portlet>
> </application>
> <application id="6">
> <definition-id>Hello</definition-id>
> <portlet id="0">
> <definition-id>Hello.HelloWorld</definition-id>
> </portlet>
> </application>
> </portlet-entity-registry>
> -------------
> my portletcontext.txt looks like this:
> -------------
> /testsuite
> /pluto
> /Hello
> -------------
> pageregistry looks like this:
> -------------
> <?xml version="1.0"?>
> <!--
> Copyright 2004,2005 The Apache Software Foundation
> Licensed under the Apache License, Version 2.0 (the "License");
> you may not use this file except in compliance with the License.
> You may obtain a copy of the License at
> http://www.apache.org/licenses/LICENSE-2.0
> Unless required by applicable law or agreed to in writing, software
> distributed under the License is distributed on an "AS IS" BASIS,
> WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
> implied.
> See the License for the specific language governing permissions and
> limitations under the License.
> -->
> <portal>
> <fragment name="navigation" class="org.apache.pluto.portalImpl.aggregation.navigation.TabNavigation">
> </fragment>
>
> <fragment name="test" type="page">
> <navigation>
> <title>Test</title>
> <description>...</description>
> </navigation>
> <fragment name="row" type="row">
> <fragment name="col1" type="column">
> <fragment name="p1" type="portlet">
> <property name="portlet" value="3.1"/>
> </fragment>
> <fragment name="p2" type="portlet">
> <property name="portlet" value="4.1"/>
> </fragment>
> </fragment>
> </fragment>
> </fragment>
> <fragment name="adminportletapp" type="page">
> <navigation>
> <title>Admin</title>
> <description>Used for deploying portlets to Pluto</description>
> </navigation>
> <fragment name="row" type="row">
> <fragment name="col1" type="column">
> <fragment name="p1" type="portlet">
> <property name="portlet" value="5.0"/>
> </fragment>
> <fragment name="p2" type="portlet">
> <property name="portlet" value="5.1"/>
> </fragment>
> <fragment name="p3" type="portlet">
> <property name="portlet" value="5.2"/>
> </fragment>
> </fragment>
> </fragment>
> </fragment>
> <fragment name="Hello" type="page" >
> <navigation>
> <title>hello</title>
> <description>hello</description>
> </navigation>
> <fragment name="row1" type="row">
> <fragment name="col1" type="column">
> <fragment name="p1" type="portlet">
> <property name="portlet" value="6.0"/>
> </fragment><!-- end of portlet frag -->
> </fragment><!-- end of col frag -->
> </fragment><!-- end of row frag -->
> </fragment><!-- end of 'page' frag -->
> </portal>
> ------------
> the web.xml in the WAR's WEB-INF is:
> --------------
> <?xml version="1.0" encoding="ISO-8859-1"?>
> <web-app xmlns="http://java.sun.com/xml/ns/j2ee"
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
> version="2.4">
> <display-name>Hello World Portlet</display-name>
> <description>hello Hello World Portlet</description>
> <servlet>
> <servlet-name>HelloWorld</servlet-name>
> <servlet-class>org.apache.pluto.core.PortletServlet</servlet-class>
> <init-param>
> <param-name>portlet-class</param-name>
> <param-value>examples.helloworld.HelloWorld</param-value>
> </init-param>
> <init-param>
> <param-name>portlet-guid</param-name>
> <param-value>Hello.HelloWorld</param-value>
> </init-param>
> <security-role-ref>
> <role-name>plutoTestRole</role-name>
> <role-link>tomcat</role-link>
> </security-role-ref>
> </servlet>
> <servlet-mapping>
> <servlet-name>HelloWorld</servlet-name>
> <url-pattern>/Hello</url-pattern>
> </servlet-mapping>
> </web-app>
> -----------------
> the portlet.xml is this:
> ---------------
> <?xml version="1.0" encoding="UTF-8"?>
> <portlet-app version="1.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
> xsi:schemaLocation="
> http://java.sun.com/xml/ns/portlet" xmlns="http://java.sun.com/xml/ns/portlet">
> <portlet>
> <portlet-name>HelloWorld</portlet-name>
> <description>HelloWorld</description>
> <display-name>HelloWorld</display-name>
> <portlet-class>examples.helloworld.HelloWorld</portlet-class>
> <portlet-info>
> <title>HelloWorld</title>
> </portlet-info>
> <supports>
> <mime-type>text/html</mime-type>
> <portlet-mode>VIEW</portlet-mode>
> <portlet-mode>EDIT</portlet-mode>
> </supports>
> <supported-locale>en</supported-locale>
>
> </portlet>
> </portlet-app>
> ---------------
> I think that about covers it for the configs. The WAR contains everything including source.
> If this is not the right forum to ask this in, please redirect me to somewhere else to look.
> Thanks!!!
> joewlarson
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see:
http://www.atlassian.com/software/jira