Ok, I think I'm iterating toward some clues.  I copied in everything
from the problem app, except using a very trivial "main.jsp", and then I
started adding elements.  It was still ok after adding a couple
RichFaces elements, but when I "jumped to the end" and copied in the
entire "main.jsp" from the problem app (which works in WebLogic),
running it blew up Tomcat.  I should be able to narrow this down to
something.

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On 
> Behalf Of Matthias Wessendorf
> Sent: Wednesday, January 23, 2008 9:34 PM
> To: MyFaces Discussion
> Subject: Re: Still trying to move simple RichFaces 3.1.3 app 
> from BEA JSF 1.1 to MyFaces 1.1.5 (Tomcat)
> 
> hrm.
> 
> what happens if you "hit" a very simple page.
> 
> <f:view>
> <h:outputText value="HAllo" />
> </f:view>
> 
> have you tried to set a break point inside the FacesServlet ?
> (like in service(), where the lifecycle.execute(facesContext) 
> is launched)
> 
> perhaps it maybe helpful, to upload a simple demo app to our jira?
> 
> Thanks!
> Matthias
> 
> On Jan 23, 2008 9:18 PM, Karr, David <[EMAIL PROTECTED]> wrote:
> > I asked about this a few days ago, but I'm not making any 
> progress on 
> > this.  I'd appreciate any hints on what I might be doing wrong.
> >
> > I have a simple app using the default JSF 1.1 implementation in 
> > WebLogic 9.2.2, which also uses RichFaces 3.1.3.  It works 
> at this point.
> >
> > I exported the WAR file and I added to the WEB-INF/lib all the 
> > libraries that come with the MyFaces 1.1.5 distribution, 
> resulting in 
> > the
> > following:
> >
> > * commons-beanutils-1.7.0.jar
> > * commons-codec-1.3.jar
> > * commons-collections-3.2.jar
> > * commons-digester-1.6.jar
> > * commons-el-1.0.jar
> > * commons-lang-2.1.jar
> > * commons-logging-1.0.4.jar
> > * jstl-1.1.0.jar
> > * myfaces-api-1.1.5.jar
> > * myfaces-impl-1.1.5.jar
> > * richfaces-api-3.1.3.GA.jar
> > * richfaces-impl-3.1.3.GA.jar
> > * richfaces-ui-3.1.3.GA.jar
> >
> > I then re-jared the WAR file, and then copied it to the 
> Tomcat 5.5.25 
> > webapps dir.  It deployed.  I then tried to go to the URL 
> for the app, 
> > and Tomcat very quickly hit a StackOverflow error.
> >
> > The Catalina log had the following log info and exception:
> >
> > ------------------
> > Jan 23, 2008 8:54:12 PM
> > org.apache.myfaces.shared_impl.config.MyfacesConfig
> > getBooleanInitParameter
> > INFO: No context init parameter 'org.apache.myfaces.PRETTY_HTML' 
> > found, using default value true Jan 23, 2008 8:54:12 PM 
> > org.apache.myfaces.shared_impl.config.MyfacesConfig
> > getBooleanInitParameter
> > INFO: No context init parameter 
> 'org.apache.myfaces.ALLOW_JAVASCRIPT'
> > found, using default value true
> > Jan 23, 2008 8:54:12 PM
> > org.apache.myfaces.shared_impl.config.MyfacesConfig
> > getBooleanInitParameter
> > INFO: No context init parameter
> > 'org.apache.myfaces.READONLY_AS_DISABLED_FOR_SELECTS' found, using 
> > default value true Jan 23, 2008 8:54:12 PM 
> > org.apache.myfaces.shared_impl.config.MyfacesConfig 
> getCurrentInstance
> > INFO: Tomahawk jar not available. Autoscrolling, DetectJavascript, 
> > AddResourceClass and CheckExtensionsFilter are disabled now.
> > Jan 23, 2008 8:54:12 PM
> > org.apache.myfaces.shared_impl.config.MyfacesConfig 
> getCurrentInstance
> > INFO: Starting up Tomahawk on the 
> MyFaces-JSF-Implementation Jan 23, 
> > 2008 8:54:14 PM org.apache.myfaces.lifecycle.PhaseListenerManager
> > informPhaseListenersAfter
> > SEVERE: Exception in PhaseListener RENDER_RESPONSE(6) afterPhase 
> > java.lang.NullPointerException
> >         at
> > 
> org.ajax4jsf.context.AjaxContextImpl.getSubmittedRegionClientId(AjaxCo
> > nt
> > extImpl.java:574)
> >         at
> > 
> org.ajax4jsf.context.AjaxContextImpl.isAjaxRequest(AjaxContext
> Impl.java:
> > 474)
> >         at
> > 
> org.ajax4jsf.context.AjaxContextImpl.isAjaxRequest(AjaxContext
> Impl.java:
> > 466)
> >         at
> > 
> org.ajax4jsf.event.AjaxPhaseListener.afterPhase(AjaxPhaseListener.java
> > :7
> > 8)
> > ------------------
> >
> > Looking in the RichFaces source code, line 466 is the one 
> line in this
> > method:
> >
> >         public boolean isAjaxRequest() {
> >                 return 
> isAjaxRequest(FacesContext.getCurrentInstance());
> >         }
> >
> > So, for whatever reason, 
> "FacesContext.getCurrentInstance()" is null.
> >
> > In the "localhost" log, there was the following extremely truncated 
> > exception (it went on forever, repeating the top two stack entries):
> >
> > ---------------
> > SEVERE: Servlet.service() for servlet Faces Servlet threw exception 
> > java.lang.StackOverflowError
> >         at
> > 
> javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletReq
> > ue
> > stWrapper.java:216)
> >         at
> > 
> org.apache.catalina.core.ApplicationHttpRequest.getSession(Application
> > Ht
> > tpRequest.java:545)
> >         at
> > 
> javax.servlet.http.HttpServletRequestWrapper.getSession(HttpServletReq
> > ue
> > stWrapper.java:216)
> >         at
> > 
> org.apache.catalina.core.ApplicationHttpRequest.getSession(Application
> > Ht
> > tpRequest.java:545)
> > ---------------
> >
> > If it helps, here is my faces-config.xml and web.xml:
> >
> > ---------------------
> > <?xml version="1.0" encoding="UTF-8"?> <web-app id="WebApp_ID" 
> > version="2.4"
> > 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";>
> >     <display-name>TabPanel</display-name>
> >     <welcome-file-list>
> >         <welcome-file>index.html</welcome-file>
> >         <welcome-file>index.htm</welcome-file>
> >         <welcome-file>index.jsp</welcome-file>
> >         <welcome-file>default.html</welcome-file>
> >         <welcome-file>default.htm</welcome-file>
> >         <welcome-file>default.jsp</welcome-file>
> >     </welcome-file-list>
> >     <context-param>
> >         <param-name>javax.faces.STATE_SAVING_METHOD</param-name>
> >         <param-value>server</param-value>
> >     </context-param>
> >     <context-param>
> >         <param-name>com.sun.faces.validateXml</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >     <context-param>
> >         <param-name>com.sun.faces.verifyObjects</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >     <context-param>
> >                 <description>
> >                         Validate managed beans, navigation 
> rules and 
> > ensure that forms are not nested.
> >                 </description>
> >         <param-name>org.apache.myfaces.VALIDATE</param-name>
> >         <param-value>true</param-value>
> >     </context-param>
> >   <context-param>
> >     <description>A class implementing the
> >
> > org.apache.myfaces.shared.renderkit.html.util.AddResource
> >                     interface. It is responsible to
> >                         place scripts and css on the right 
> position in 
> > your HTML document.
> >             Default:
> > "org.apache.myfaces.shared.renderkit.html.util.DefaultAddResource"
> >             Follow the description on the MyFaces-Wiki-Performance 
> > page to enable
> >             StreamingAddResource instead of 
> DefaultAddResource if you 
> > want to
> >             gain performance.
> >     </description>
> >     <param-name>org.apache.myfaces.ADD_RESOURCE_CLASS</param-name>
> >
> > 
> <param-value>org.apache.myfaces.renderkit.html.util.DefaultAddResource
> > </
> > param-value>
> >
> > 
> <!--param-value>org.apache.myfaces.component.html.util.StreamingAddRes
> > ou
> > rce</param-value-->
> >   </context-param>
> >
> >   <context-param>
> >     <description>
> >         A very common problem in configuring 
> MyFaces-web-applications
> >         is that the Extensions-Filter is not configured at all
> >         or improperly configured. This parameter will check for a 
> > properly
> >         configured Extensions-Filter if it is needed by the web-app.
> >         In most cases this check will work just fine, there 
> might be 
> > cases
> >         where an internal forward will bypass the Extensions-Filter 
> > and the check
> >         will not work. If this is the case, you can disable 
> the check 
> > by setting
> >         this parameter to false.
> >     </description>
> >     
> <param-name>org.apache.myfaces.CHECK_EXTENSIONS_FILTER</param-name>
> >     <param-value>true</param-value>
> >   </context-param>
> >
> >   <context-param>
> >     <description>
> >         Change the url-pattern from the ExtensionsFilter
> >         Default is "/faces/myFacesExtensionResource"
> >         Note: The filter-mapping for ExtensionsFilter, the 
> url-pattern 
> > is
> >         this value + "/*", else there comes a exception
> >     </description>
> >     
> <param-name>org.apache.myfaces.RESOURCE_VIRTUAL_PATH</param-name>
> >     <param-value>/faces/extensionResource</param-value>
> >   </context-param>
> >         <context-param>
> >                 <param-name>org.richfaces.SKIN</param-name>
> >                 <param-value>blueSky</param-value>
> >         </context-param>
> >         <filter>
> >                 <display-name>RichFaces Filter</display-name>
> >                 <filter-name>richfaces</filter-name>
> >                 <filter-class>org.ajax4jsf.Filter</filter-class>
> >         </filter>
> >         <filter-mapping>
> >                 <filter-name>richfaces</filter-name>
> >                 <servlet-name>Faces Servlet</servlet-name>
> >                 <dispatcher>REQUEST</dispatcher>
> >                 <dispatcher>FORWARD</dispatcher>
> >                 <dispatcher>INCLUDE</dispatcher>
> >         </filter-mapping>
> > <!--
> >         <listener>
> >                 <listener-class>
> >                         com.sun.faces.config.ConfigureListener
> >                 </listener-class>
> >         </listener>
> >  -->
> >     <servlet>
> >         <servlet-name>Faces Servlet</servlet-name>
> >         
> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
> >                 <load-on-startup>1</load-on-startup>
> >     </servlet>
> >         <servlet-mapping>
> >                 <servlet-name>Faces Servlet</servlet-name>
> >                 <url-pattern>/faces/*</url-pattern>
> >         </servlet-mapping>
> >         <session-config>
> >                 <session-timeout>35</session-timeout>
> >         </session-config>
> >         <mime-mapping>
> >                 <extension>html</extension>
> >                 <mime-type>text/html</mime-type>
> >         </mime-mapping>
> >         <mime-mapping>
> >                 <extension>txt</extension>
> >                 <mime-type>text/plain</mime-type>
> >         </mime-mapping>
> >         <login-config>
> >                 <auth-method>BASIC</auth-method>
> >         </login-config>
> > </web-app>
> > ---------------------
> >
> > ---------------------
> > <!DOCTYPE faces-config PUBLIC
> >   "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
> >   "http://java.sun.com/dtd/web-facesconfig_1_1.dtd";>
> >
> > <faces-config>
> >
> >   <application>
> >     <locale-config>
> >       <default-locale>en</default-locale>
> >     </locale-config>
> >   </application>
> >
> >   <managed-bean>
> >         <managed-bean-name>ratingRequest</managed-bean-name>
> >
> > 
> <managed-bean-class>com.wamu.ais.tabpanel.RatingRequestBean</managed-b
> > ea
> > n-class>
> >         <managed-bean-scope>session</managed-bean-scope>
> >   </managed-bean>
> >
> >    <lifecycle>
> >
> > 
> <phase-listener>com.wamu.ais.tabpanel.LifeCycleListener</phase-listene
> > r>
> >
> > 
> <phase-listener>com.wamu.ais.tabpanel.CacheControlPhaseListener</phase
> > -l
> > istener>
> >   </lifecycle>
> >
> > </faces-config>
> > ---------------------
> >
> 
> 
> 
> --
> Matthias Wessendorf
> 
> further stuff:
> blog: http://matthiaswessendorf.wordpress.com/
> sessions: http://www.slideshare.net/mwessendorf
> mail: matzew-at-apache-dot-org
> 

Reply via email to