Hallo, we are afraid that we are not using JSF1.2 on WebSphere 6.1: When we switch the class loader for the application in the WebSphere console: Enterprise Applications > "Application Name"> Class loader
Class loader order : --> "Classes loaded with application class loader first" and WAR class loader policy : --> "Class loader for each WAR file in application" then the application will start and produce the exception when the f:setPropertyActionListener is called. Otherwise if we switch the classloader for the Web-module: Class loader order : --> "Classes loaded with application class loader first" and WAR class loader policy : --> "Single class loader for application" the application cannot be started. When calling the first page the following message is displayed in the browser: Error 404: SRVE0201E: Das Servlet [javax.faces.webapp.FacesServlet] ist keine Servlet-Klasse. (in English: the servlet [javax.faces.webapp.FacesServlet] is not a servlet class) - Can we output to the page the JSF-Version that is used? - Or do we use a wrong set of jar-Versions? - Should the JSF1.2 jars be used from a 'shared library reference' in WebSphere? Thanks Georg 2011/5/5 Georg Füchsle <giofy...@googlemail.com>: > Hallo Leonardo, > > thank you for your interest! > Here the exception: > > [05.05.11 09:47:25:663 CEST] 0000001a ServletWrappe E SRVE0068E: Es > wurde eine Ausnahme angefangen, die in einer der Servicemethoden des > Servlet Faces Servlet ausgelöst wurde. Ausgelöste Ausnahme: > javax.servlet.ServletException > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:209) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593) > at > com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:533) > at > com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) > at > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751) > at > com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) > at > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) > at > com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) > at > com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) > at > com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) > at > com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) > ---- Begin backtrace for Nested Throwables > java.lang.IllegalArgumentException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > com.sun.faces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:179) > at > com.sun.facelets.el.LegacyELContext$LegacyELResolver.setValue(LegacyELContext.java:201) > at com.sun.el.parser.AstValue.setValue(AstValue.java:113) > at > com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:246) > at > com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:93) > at > com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.java:68) > at > com.sun.facelets.tag.jsf.core.SetPropertyActionListenerHandler$LegacySetPropertyListener.processAction(SetPropertyActionListenerHandler.java:88) > at javax.faces.event.ActionEvent.processListener(ActionEvent.java:57) > at > javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:683) > at javax.faces.component.UICommand.broadcast(UICommand.java:297) > at > javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419) > at > com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) > at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:239) > at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593) > at > com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:533) > at > com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) > at > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751) > at > com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) > at > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) > at > com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) > at > com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) > at > com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) > at > com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) > > [05.05.11 09:47:25:672 CEST] 0000001a WebApp E [Servlet > Error]-[Faces Servlet]: java.lang.IllegalArgumentException > at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) > at > sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:79) > at > sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) > at java.lang.reflect.Method.invoke(Method.java:618) > at > com.sun.faces.el.PropertyResolverImpl.setValue(PropertyResolverImpl.java:179) > at > com.sun.facelets.el.LegacyELContext$LegacyELResolver.setValue(LegacyELContext.java:201) > at com.sun.el.parser.AstValue.setValue(AstValue.java:113) > at > com.sun.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:246) > at > com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.java:93) > at > com.sun.facelets.el.LegacyValueBinding.setValue(LegacyValueBinding.java:68) > at > com.sun.facelets.tag.jsf.core.SetPropertyActionListenerHandler$LegacySetPropertyListener.processAction(SetPropertyActionListenerHandler.java:88) > at javax.faces.event.ActionEvent.processListener(ActionEvent.java:57) > at > javax.faces.component.UIComponentBase.broadcast(UIComponentBase.java:683) > at javax.faces.component.UICommand.broadcast(UICommand.java:297) > at > javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:302) > at > javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:419) > at > com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:77) > at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:239) > at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:91) > at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1146) > at > com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:593) > at > com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:533) > at > com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90) > at > com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:751) > at > com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1478) > at > com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:125) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458) > at > com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387) > at > com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102) > at > com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165) > at > com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217) > at > com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161) > at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136) > at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196) > at > com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751) > at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881) > at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497) > > > regards > Georg > > > 2011/5/5 Leonardo Uribe <lu4...@gmail.com>: >> Hi >> >> Could you provide the exception to see if there is a configuration problem? >> >> regards, >> >> Leonardo >> >> 2011/5/4 Georg Füchsle <giofy...@googlemail.com>: >>> Hallo >>> >>> I have made up a small JSF-Project using maven. >>> It works as long I will not use <f:setPropertyActionListener. >>> When <f:setPropertyActionListener is called, it runs into an exception. >>> >>> I deploy to WebShpere 6.1. >>> >>> I tried to switch the class loading without success. >>> Looking forward for any help! >>> >>> Thanks Georg >>> >>> >>> ******************************************************* >>> Here my sources: >>> pom.xml: >>> >>> <project xmlns="http://maven.apache.org/POM/4.0.0" >>> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >>> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 >>> http://maven.apache.org/maven-v4_0_0.xsd"> >>> <modelVersion>4.0.0</modelVersion> >>> <groupId>de.safir</groupId> >>> <artifactId>InvestInformWeb</artifactId> >>> <version>0.0.1-SNAPSHOT</version> >>> <packaging>war</packaging> >>> <name /> >>> <description /> >>> <dependencies> >>> <dependency> >>> <groupId>org.apache.openejb</groupId> >>> <artifactId>javaee-api</artifactId> >>> <version>5.0-3</version> >>> </dependency> >>> <dependency> >>> <groupId>javax.faces</groupId> >>> <artifactId>jsf-api</artifactId> >>> <version>1.2_04</version> >>> <scope>compile</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.servlet</groupId> >>> <artifactId>jstl</artifactId> >>> <version>1.2</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.servlet.jsp</groupId> >>> <artifactId>jsp-api</artifactId> >>> <version>2.1</version> >>> <scope>provided</scope> >>> </dependency> >>> <dependency> >>> <groupId>javax.faces</groupId> >>> <artifactId>jsf-impl</artifactId> >>> <version>1.2_04</version> >>> <scope>compile</scope> >>> </dependency> >>> <dependency> >>> <groupId>com.sun.facelets</groupId> >>> <artifactId>jsf-facelets</artifactId> >>> <version>1.1.9</version> >>> </dependency> >>> <dependency> >>> <groupId>javax.el</groupId> >>> <artifactId>el-api</artifactId> >>> <version>1.0</version> >>> </dependency> >>> <dependency> >>> <groupId>com.sun.el</groupId> >>> <artifactId>el-ri</artifactId> >>> <version>1.0</version> >>> </dependency> >>> </dependencies> >>> <build> >>> <sourceDirectory>${basedir}/src</sourceDirectory> >>> >>> <outputDirectory>${basedir}/WebRoot/WEB-INF/classes</outputDirectory> >>> <resources> >>> <resource> >>> <directory>${basedir}/src</directory> >>> <excludes> >>> <exclude>**/*.java</exclude> >>> </excludes> >>> </resource> >>> </resources> >>> <plugins> >>> <plugin> >>> <groupId>org.apache.maven.plugins</groupId> >>> <artifactId>maven-war-plugin</artifactId> >>> <configuration> >>> >>> <webappDirectory>${basedir}/WebRoot</webappDirectory> >>> >>> <warSourceDirectory>${basedir}/WebRoot</warSourceDirectory> >>> <archive> >>> <manifest> >>> >>> <addClasspath>true</addClasspath> >>> </manifest> >>> </archive> >>> </configuration> >>> </plugin> >>> <plugin> >>> <groupId>org.apache.maven.plugins</groupId> >>> >>> <artifactId>maven-compiler-plugin</artifactId> >>> <version>2.3.2</version> >>> <configuration> >>> <source>1.5</source> >>> <target>1.5</target> >>> </configuration> >>> </plugin> >>> </plugins> >>> </build> >>> </project> >>> >>> >>> >>> ************************************************************ >>> The web-Page: >>> >>> <?xml version="1.0" encoding="UTF-8"?> >>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" >>> "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> >>> >>> <html xmlns="http://www.w3.org/1999/xhtml" >>> xmlns:h="http://java.sun.com/jsf/html" >>> xmlns:f="http://java.sun.com/jsf/core"> >>> <head> >>> <title>Testseite</title> >>> <meta http-equiv="keywords" >>> content="enter,your,keywords,here" /> >>> <meta http-equiv="description" >>> content="A short description of this page." /> >>> <meta http-equiv="content-type" content="text/html; >>> charset=UTF-8" /> >>> </head> >>> <body> >>> <f:view> >>> <h:form id="iiweb"> >>> <p> >>> <h:inputText value="#{ersteBean.text}"/><br/> >>> <h:outputText value="#{ersteBean.neuerText}" /> >>> <br/> >>> <h:commandButton action="#{ersteBean.laden}" >>> id="textajax" value="drücken"> >>> <f:setPropertyActionListener >>> target="#{ersteBean.neuerText}" value="Text"/> >>> </h:commandButton> >>> <br/> >>> </p> >>> </h:form> >>> </f:view> >>> </body> >>> </html> >>> >>> ************************************************************* >>> and the backing bean: >>> >>> package de.safir; >>> >>> public class ersteBean { >>> private String text; >>> private String neuerText; >>> >>> public String laden() { >>> return ""; >>> } >>> >>> public String getText() { >>> return text; >>> } >>> >>> public void setText(String text) { >>> this.text = text; >>> } >>> >>> public String getNeuerText() { >>> return neuerText; >>> } >>> >>> public void setNeuerText(String neuerText) { >>> this.neuerText = neuerText; >>> } >>> } >>> >> >