How to run JSF 1.1 application on WAS 6.0
I am having trouble accessing my site deployed on WebSphere Application Server 6.0 when deploying my application that uses the JSF1.1 runtime.
At first it loads with some errors telling me my commandLink is missing bodyContent which is optional, but I think I edited my pages and the page is displayed.
When I try to press any button or do any event handling it just doesn't respond.
Then I created Loader mode for my web module: Parent Last and then I caught an exception: Error 500: SRVE0207E: Throw an initialization exception thrown by the servlet
Detailed error:
[5/23/06 11:57:23:761 CEST] 0000007d ServletWrappe A SRVE0242I: [component-showcase_war]
[/component-showcase] [/index.jsp]: Initialization successful.
[5/23/06 11:57:23:766 CEST] 0000007d ServletWrappe E SRVE0100E: Did not realize init() exception thrown by servlet Persistent Faces Servlet: java.lang.NullPointerException
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesCommonlet.init(Unknown Source)
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.init(Unknown Source)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.init(ServletWrapper.java:274)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
at org.apache.jasper.runtime.PageContextImpl.forward(PageContextImpl.java:510)
at com.ibm._jsp._index._jspService(_index.java:66)
at com.ibm.ws.jsp.runtime.HttpJspBase.service(HttpJspBase.java(Compiled Code))
at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java(Compiled Code))
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java(Compiled Code))
at com.ibm.wsspi.webcontainer.servlet.GenericServletWrapper.handleRequest(GenericServletWrapper.java(Inlined Compiled Code))
at com.ibm.ws.jsp.webcontainerext.JSPExtensionServletWrapper.handleRequest(JSPExtensionServletWrapper.java(Compiled Code))
at com.ibm.ws.jsp.webcontainerext.JSPExtensionProcessor.handleRequest(JSPExtensionProcessor.java:241)
at com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled Code))
at com.ibm.ws.webcontainer.extension.DefaultExtensionProcessor.handleRequest(DefaultExtensionProcessor.java(Compiled Code))
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:2933)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:221)
at com.ibm.ws.webcontainer.VirtualHost.handleRequest(VirtualHost.java:210)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java(Compiled Code))
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java(Compiled Code))
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.ready(HttpInboundLink.java:288)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.sendToDiscriminaters(NewConnectionInitialReadCallback.java:201)
at com.ibm.ws.tcp.channel.impl.NewConnectionInitialReadCallback.complete(NewConnectionInitialReadCallback.java:103)
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.requestComplete(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.attemptIO(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager.workerRun(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.tcp.channel.impl.WorkQueueManager$Worker.run(WorkQueueManager.java(Compiled Code))
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled Code))
What do you think is the problem and what I am missing here, I searched and some people said to delete the default jsf-api.jar WAS file but it didn't help!
a source to share
at com.icesoft.faces.webapp.xmlhttp.PersistentFacesServlet.init(Unknown Source)
This servlet is not initialized. It might be an idea to go to icesoft.com and find out what it does and why it fails, rather than just deleting files from your application server.
You may find it easier to diagnose the problem if you provide more detailed information about the technology stack you are using (including the JSF implementation that you deploy with your application).
I have created a Loader mode for my web module: Parent Last
This is the right thing to do. By doing this, your application will use its own JSF implementation instead of the old version in the container. I haven't deleted files.
Here is the structure of a simple JSF 1.1 application that I deployed to WAS 6.0. I have used MyFaces library version 1.1.6.
test.jsp WEB-INF/faces-config.xml WEB-INF/web.xml WEB-INF/lib/commons-beanutils-1.7.0.jar WEB-INF/lib/commons-el-1.0.jar WEB-INF/lib/jstl-1.1.0.jar WEB-INF/lib/commons-collections-3.1.jar WEB-INF/lib/commons-lang-2.1.jar WEB-INF/lib/myfaces-api-1.1.6.jar WEB-INF/lib/commons-digester-1.8.jar WEB-INF/lib/commons-logging-1.1.1.jar WEB-INF/lib/myfaces-impl-1.1.6.jar
faces-config.xml doctype:
<!DOCTYPE faces-config PUBLIC
"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
"http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
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>jsf11</display-name>
<context-param>
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
<param-value>server</param-value>
</context-param>
<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>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
</web-app>
a source to share