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