Hello Myfaces users....
I've been able to get myfaces versions from 1.1.1 thru 1.1.3 to work
on a variety of appservers without too much trouble, but am stumped as
to why it works under OC4J standalone, but not under OC4J when
integrated with the rest of OAS.
The app seems to startup fine, whether I use a
org.apache.myfaces.webapp.StartupServletContextListener in web.xml or
not. OAS appears to detect and run the listener defined in .tld files,
producing:
17:09:48 - DEBUG -
org.apache.myfaces.webapp.StartupServletContextListener - Initializing
MyFaces
17:09:48 - INFO - org.apache.myfaces.config.FacesConfigurator - Reading
standard config org/apache/myfaces/resource/standard-faces-config.xml
17:09:49 - INFO - org.apache.myfaces.config.FacesConfigurator - Reading
config /WEB-INF/program-faces-config.xml
17:09:49 - INFO - org.apache.myfaces.config.FacesConfigurator - Reading
config /WEB-INF/forms-faces-config.xml
<...reading more *faces-config.xml's, as def'd in web.xml...>
17:09:50 - DEBUG - org.apache.myfaces.application.jsp.JspViewHandlerImpl
- New ViewHandler instance created
17:09:50 - DEBUG - org.apache.myfaces.application.NavigationHandlerImpl
- New NavigationHandler instance created
17:09:50 - DEBUG -
org.apache.myfaces.application.jsp.JspStateManagerImpl - New
JspStateManagerImpl instance created
17:09:50 - DEBUG - org.apache.myfaces.application.ApplicationImpl - New
Application instance created
<...much happy output about renderers, components, etc...leading to...>
17:09:51 - INFO -
org.apache.myfaces.webapp.StartupServletContextListener - ServletContext
'C:\oas\product\10.1.3\OracleAS_1\j2ee\home\applications\appname\webmodulename\'
initialized.
7:09:51 - DEBUG - javax.faces.webapp.FacesServlet - init begin
17:09:51 - DEBUG - javax.faces.webapp.FacesServlet - init end
...so far so good.
But, when a request is sent, it invariably produces:
java.lang.IllegalStateException:
org.apache.myfaces.webapp.webxml.WebXml.init must be called before!
at org.apache.myfaces.webapp.webxml.WebXml.getWebXml(WebXml.java:123)
at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.getServletMapping(JspTilesViewHandlerImpl.java:254)
at
org.apache.myfaces.application.jsp.JspTilesViewHandlerImpl.renderView(JspTilesViewHandlerImpl.java:120)
at
org.apache.myfaces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:384)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:138)
...even if I forcefully call:
StartupServletContextListener.initFaces(this.getServletConfig().getServletContext());
for every request.
Has anyone else seen this behaviour, or been able to successfully get a
myfaces application to work properly under the full OAS? Just to
reiterate, it works great under OC4J standalone.
Thanks for reading,
JF