1 Reply Latest reply on Jan 3, 2016 3:39 PM by nikita_kh

    NullPointerException after updating JSF to 2.1, Richfaces to 4.3.7

    nikita_kh

      When updating

       

      - jsf from 1.2 to 2.1

      - richfaces from 3.3.3 to 4.3.7.Final

       

      following  this link

       

      I got stuck with some strange exception

       

          java.lang.NullPointerException

          com.ocpsoft.pretty.faces.application.PrettyNavigationHandler.processFacesNavigation(PrettyNavigationHandler.java:58)

          com.ocpsoft.pretty.faces.application.PrettyNavigationHandler.handleNavigation(PrettyNavigationHandler.java:44)

          com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:130)

          javax.faces.component.UICommand.broadcast(UICommand.java:315)

          javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)

          javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)

          com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)

          com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)

          com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

          javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)

          ua.com.winforce.online.site.http.filter.LocaleFilter.doFilter(LocaleFilter.java:65)

       

      which appears after submitting simple form on login.jspx page

       

          <h:form>

          <div class="form-group">

              <label for="rLogin"><h:outputText value="#{localeController.locale.registr.email}" escape="false"/></label>

              <h:inputText id="rLogin"  value="#{playerRegistration.login}" />

          </div>

          <div class="form-group">

              <label for="rPassword"><h:outputText value="#{localeController.locale.registr.password}" escape="false"/></label>

              <h:inputSecret value="#{playerRegistration.password}"/>

          </div>

              <h:commandButton value="#{localeController.locale.mainMsg.registration}" action="#{playerRegistration.doRegistration}" />

      </h:form>

       

      LocaleFilter works as usual.

       

      After updating I left .jspx page format.

       

      I think that something wrong in configuration but can't find the reason.

       

      main pom.xml:

       

          <properties>

              <targetJdk>1.6</targetJdk>

              <spring.version>4.0.5.RELEASE</spring.version>

              <spring.security.version>3.2.4.RELEASE</spring.security.version>

              <hibernate.version>4.2.16.Final</hibernate.version>

              <richfaces.version>4.3.7.Final</richfaces.version>

          </properties>

         

          <dependencyManagement>

              <dependencies>

                  <!-- Utils -->

                  <dependency>

                      <groupId>log4j</groupId>

                      <artifactId>log4j</artifactId>

                      <version>1.2.14</version>

                  </dependency>

                  <dependency>

                      <groupId>org.slf4j</groupId>

                      <artifactId>slf4j-log4j12</artifactId>

                      <version>1.7.7</version>

                  </dependency>

       

                  <!-- Servlets / JSP / JSTL -->

                  <dependency>

                      <groupId>javax.servlet</groupId>

                      <artifactId>servlet-api</artifactId>

                      <version>2.5</version>

                      <type>jar</type>

                      <scope>provided</scope>

                  </dependency>

                  <dependency>

                      <groupId>javax.servlet.jsp</groupId>

                      <artifactId>jsp-api</artifactId>

                      <version>2.1</version>

                      <type>jar</type>

                      <scope>provided</scope>

                  </dependency>

                  <dependency>

                      <groupId>javax.servlet</groupId>

                      <artifactId>jstl</artifactId>

                      <version>1.2</version>

                      <type>jar</type>

                      <scope>compile</scope>

                  </dependency>

       

                   <!-- RichFaces libraries -->

                  <dependency>

                <groupId>org.richfaces</groupId>

                <artifactId>richfaces-bom</artifactId>

                <version>${richfaces.version}</version>

                <scope>import</scope>

                <type>pom</type>

              </dependency>

       

              </dependencies>

          </dependencyManagement>

       

          <dependencies>

              <dependency>

                <groupId>com.sun.faces</groupId>

                <artifactId>jsf-api</artifactId>

              </dependency>

              <dependency>

                <groupId>com.sun.faces</groupId>

                <artifactId>jsf-impl</artifactId>

              </dependency>

             

              <dependency>

                <groupId>javax.servlet</groupId>

                <artifactId>javax.servlet-api</artifactId>

                <scope>provided</scope>

              </dependency>

              <dependency>

                  <groupId>wsdl4j</groupId>

                  <artifactId>wsdl4j</artifactId>

                  <version>1.6.1</version>

              </dependency>

              <dependency>

                  <groupId>org.richfaces.core</groupId>

                  <artifactId>richfaces-core-impl</artifactId>

                </dependency>

                <dependency>

                  <groupId>org.richfaces.ui</groupId>

                  <artifactId>richfaces-components-ui</artifactId>

                </dependency>

          </dependencies>

       

      web.xml

       

          <?xml version="1.0" encoding="UTF-8"?>

          <web-app xmlns="http://java.sun.com/xml/ns/javaee"

               xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

               xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

               http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"

               version="3.0">

          <mime-mapping>

              <extension>jspx</extension>

              <mime-type>application/xml</mime-type>

          </mime-mapping>

         

          <context-param>

              <param-name>javax.faces.application.CONFIG_FILES</param-name>

              <param-value>/WEB-INF/faces-config.xml</param-value>

          </context-param>

       

          <context-param>

              <param-name>javax.faces.DEFAULT_SUFFIX</param-name>

              <param-value>.jspx</param-value>

          </context-param>   

          <context-param>

              <param-name>javax.faces.FACELETS_SUFFIX</param-name>

              <param-value>.jspx</param-value>

          </context-param>   

          <context-param>

              <param-name>javax.faces.FACELETS_VIEW_MAPPINGS</param-name>

              <param-value>*.jspx</param-value>

          </context-param>

       

          <context-param>

              <param-name>com.sun.faces.validateXml</param-name>

              <param-value>false</param-value>

          </context-param>

       

          <context-param>

              <param-name>facelets.DEVELOPMENT</param-name>

              <param-value>false</param-value>

          </context-param>

       

          <context-param>

                  <param-name>com.sun.faces.enableRestoreView11Compatibility</param-name>

                  <param-value>false</param-value>

          </context-param>

       

          <context-param>

              <param-name>contextConfigLocation</param-name>

              <param-value>

                  /WEB-INF/applicationContext-site-dao.xml

                  /WEB-INF/applicationContext-site-security.xml

              </param-value>

          </context-param>

       

          <context-param>

              <param-name>com.sun.faces.sendPoweredByHeader</param-name>

              <param-value>false</param-value>

          </context-param>

       

          <listener>

              <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>

          </listener>

          <listener>

              <listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>

          </listener>

          <listener>

              <listener-class>org.springframework.security.web.session.HttpSessionEventPublisher</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>*.html</url-pattern>

          </servlet-mapping>

       

      faces-config.xml header:

       

          <faces-config version="2.1" xmlns="http://java.sun.com/xml/ns/javaee"

                    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

                    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee

                    http://java.sun.com/xml/ns/javaee/web-facesconfig_2_1.xsd">

          <application>

          <el-resolver>org.springframework.web.jsf.el.SpringBeanFacesELResolver</el-resolver>

          <locale-config>

                  <default-locale>ru</default-locale>

                  <supported-locale>ru</supported-locale>

                  <supported-locale>en</supported-locale>

              </locale-config>

        </application>

       

      Here are libs, used in project:

       

      - org/graylog2/gelfj/0.9.1-SNAPSHOT/gelfj-0.9.1-SNAPSHOT.jar

      - com/googlecode/json-simple/json-simple/1.1/json-simple-1.1.jar

      - commons-pool/commons-pool/1.5.2/commons-pool-1.5.2.jar

      - jcraft/jcraft/1/jcraft-1.jar

      - jazzlib/jazzlib/1.07/jazzlib-1.07.jar

      - net/sf/json-lib/json-lib/2.2.3/json-lib-2.2.3-jdk15.jar

      - net/sf/ezmorph/ezmorph/1.0.6/ezmorph-1.0.6.jar

      - javax/mail/mail/1.4.1/mail-1.4.1.jar

      - javax/activation/activation/1.1/activation-1.1.jar

      - license4j-runtime/license4j-runtime/3.1/license4j-runtime-3.1.jar

      - jdbcappender/jdbcappender/2.1.01/jdbcappender-2.1.01.jar

      - log4j/log4j/1.2.14/log4j-1.2.14.jar

      - org/slf4j/slf4j-log4j12/1.7.7/slf4j-log4j12-1.7.7.jar

      - commons-lang/commons-lang/2.4/commons-lang-2.4.jar

      - commons-io/commons-io/1.4/commons-io-1.4.jar

      - commons-collections/commons-collections/3.2/commons-collections-3.2.jar

      - commons-dbcp/commons-dbcp/1.2.1/commons-dbcp-1.2.1.jar

      - xml-apis/xml-apis/1.0.b2/xml-apis-1.0.b2.jar

      - xerces/xercesImpl/2.9.1/xercesImpl-2.9.1.jar

      - commons-discovery/commons-discovery/0.4/commons-discovery-0.4.jar

      - commons-logging/commons-logging/1.0.4/commons-logging-1.0.4.jar

      - javax/servlet/jstl/1.2/jstl-1.2.jar

      - com/sun/facelets/jsf-facelets/1.1.15/jsf-facelets-1.1.15.jar

      - aspectj/aspectjrt/1.5.3/aspectjrt-1.5.3.jar

      - aspectj/aspectjweaver/1.5.3/aspectjweaver-1.5.3.jar

      - jfree/jcommon/1.0.12/jcommon-1.0.12.jar

      - org/springframework/spring-web/4.0.5.RELEASE/spring-web-4.0.5.RELEASE.jar

      - org/springframework/spring-aop/4.0.5.RELEASE/spring-aop-4.0.5.RELEASE.jar

      - org/springframework/spring-jdbc/4.0.5.RELEASE/spring-jdbc-4.0.5.RELEASE.jar

      - org/springframework/spring-tx/4.0.5.RELEASE/spring-tx-4.0.5.RELEASE.jar

      - org/springframework/spring-orm/4.0.5.RELEASE/spring-orm-4.0.5.RELEASE.jar

      - org/springframework/spring-support/2.0.8/spring-support-2.0.8.jar

      - aopalliance/aopalliance/1.0/aopalliance-1.0.jar

      - org/springframework/security/spring-security-core/3.2.4.RELEASE/spring-security-core-3.2.4.RELEASE.jar

      - org/springframework/spring-expression/3.2.8.RELEASE/spring-expression-3.2.8.RELEASE.jar

      - org/springframework/security/spring-security-config/3.2.4.RELEASE/spring-security-config-3.2.4.RELEASE.jar

      - org/springframework/security/spring-security-taglibs/3.2.4.RELEASE/spring-security-taglibs-3.2.4.RELEASE.jar

      - org/springframework/security/spring-security-acl/3.2.4.RELEASE/spring-security-acl-3.2.4.RELEASE.jar

      - org/springframework/security/spring-security-web/3.2.4.RELEASE/spring-security-web-3.2.4.RELEASE.jar

      - commons-httpclient/commons-httpclient/3.1/commons-httpclient-3.1.jar

      - commons-validator/commons-validator/1.2.0/commons-validator-1.2.0.jar

      - commons-beanutils/commons-beanutils/1.7.0/commons-beanutils-1.7.0.jar

      - commons-digester/commons-digester/1.6/commons-digester-1.6.jar

      - oro/oro/2.0.8/oro-2.0.8.jar

      - commons-net/commons-net/3.3/commons-net-3.3.jar

      - javassist/javassist/3.10.0.GA/javassist-3.10.0.GA.jar

      - postgresql/postgresql/8.3-603.jdbc4/postgresql-8.3-603.jdbc4.jar

      - quartz/quartz/1.5.2/quartz-1.5.2.jar

      - org/freemarker/freemarker/2.3.9/freemarker-2.3.9.jar

      - avalon-framework/avalon-framework/4.1.3/avalon-framework-4.1.3.jar

      - com/sun/xml/messaging/saaj/saaj-impl/1.3.1/saaj-impl-1.3.1.jar

      - javax/xml/soap/saaj-api/1.3/saaj-api-1.3.jar

      - com/octo/captcha/jcaptcha-all/1.0-RC6/jcaptcha-all-1.0-RC6.jar

      - javax/annotation/jsr250-api/1.0/jsr250-api-1.0.jar

      - commons-codec/commons-codec/1.4/commons-codec-1.4.jar

      - org/springframework/spring-core/4.0.5.RELEASE/spring-core-4.0.5.RELEASE.jar

      - com/ocpsoft/prettyfaces-jsf12/3.3.3/prettyfaces-jsf12-3.3.3.jar

      - org/richfaces/core/richfaces-core-impl/4.3.7.Final/richfaces-core-impl-4.3.7.Final.jar

      - org/richfaces/core/richfaces-core-api/4.3.7.Final/richfaces-core-api-4.3.7.Final.jar

      - net/sourceforge/cssparser/cssparser/0.9.5/cssparser-0.9.5.jar

      - org/w3c/css/sac/1.3/sac-1.3.jar

      - com/google/guava/guava/13.0.1/guava-13.0.1.jar

      - org/richfaces/ui/richfaces-components-ui/4.3.7.Final/richfaces-components-ui-4.3.7.Final.jar

      - org/richfaces/ui/richfaces-components-api/4.3.7.Final/richfaces-components-api-4.3.7.Final.jar

      - com/sun/faces/jsf-impl/2.1.3/jsf-impl-2.1.3.jar

      - com/sun/faces/jsf-api/2.1.3/jsf-api-2.1.3.jar

      - commons-configuration/commons-configuration/1.10/commons-configuration-1.10.jar

      - org/hibernate/hibernate-core/4.2.16.Final/hibernate-core-4.2.16.Final.jar

      - antlr/antlr/2.7.7/antlr-2.7.7.jar

      - org/jboss/logging/jboss-logging/3.1.0.GA/jboss-logging-3.1.0.GA.jar

      - dom4j/dom4j/1.6.1/dom4j-1.6.1.jar

      - org/javassist/javassist/3.18.1-GA/javassist-3.18.1-GA.jar

      - org/jboss/spec/javax/transaction/jboss-transaction-api_1.1_spec/1.0.1.Final/jboss-transaction-api_1.1_spec-1.0.1.Final.jar

      - org/hibernate/javax/persistence/hibernate-jpa-2.0-api/1.0.1.Final/hibernate-jpa-2.0-api-1.0.1.Final.jar

      - org/hibernate/common/hibernate-commons-annotations/4.0.2.Final/hibernate-commons-annotations-4.0.2.Final.jar

      - javax/jms/jms-api/1.1-rev-1/jms-api-1.1-rev-1.jar

      - org/apache/xbean/xbean-spring/4.1/xbean-spring-4.1.jar

      - org/apache/activemq/activemq-all/5.12.1/activemq-all-5.12.1.jar

      - org/springframework/spring-jms/4.0.5.RELEASE/spring-jms-4.0.5.RELEASE.jar

      - joda-time/joda-time/2.7/joda-time-2.7.jar

      - org/springframework/spring-context-support/4.0.5.RELEASE/spring-context-support-4.0.5.RELEASE.jar

      - org/springframework/spring-beans/4.0.5.RELEASE/spring-beans-4.0.5.RELEASE.jar

      - org/springframework/spring-context/4.0.5.RELEASE/spring-context-4.0.5.RELEASE.jar

      - net/sf/ehcache/ehcache/2.10.0/ehcache-2.10.0.jar

      - org/slf4j/slf4j-api/1.7.7/slf4j-api-1.7.7.jar

      - javax/servlet/javax.servlet-api/3.0.1/javax.servlet-api-3.0.1.jar

      - wsdl4j/wsdl4j/1.6.1/wsdl4j-1.6.1.jar

       

      I am ready to add any extra information to find a reason of this situation. I hope someone can help me to find out how to solve this problem, because Google doesn't know about this issue. Any help will be useful.

      Best regards, Nikita