Uploaded image for project: 'JBoss Enterprise Application Platform 4 and 5'
  1. JBoss Enterprise Application Platform 4 and 5
  2. JBPAPP-11130

Seam 2.2 NPE if pages.xml handler doesn't contain message

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Obsolete
    • Icon: Major Major
    • TBD EAP 5
    • EAP_EWP 5.3.0.ER3
    • Seam2
    • None
    • Hide

      edit

      examples/tasks/resources/WEB-INF/pages.xml

      1. change the ResourceNotFoundException handler :

      (note that ResourceNotFoundException has wrong package that also needs to be fixed to be able to reproduce the issue)

          <exception
              class="org.jboss.seam.example.tasks.ResourceNotFoundException"
              log-level="debug">
              <http-error error-code="404">
      <!--            <message>Not Found</message>-->
              </http-error>
          </exception>
      

      2. build and deploy the tasks example (ant)
      3. open http://127.0.0.1:8080/seam-tasks/ and login as demo:demo

      4. open http://127.0.0.1:8080/seam-tasks/seam/resource/v1/auth/category/Xyzzy/aasd

      Show
      edit examples/tasks/resources/WEB-INF/pages.xml 1. change the ResourceNotFoundException handler : (note that ResourceNotFoundException has wrong package that also needs to be fixed to be able to reproduce the issue) <exception class= "org.jboss.seam.example.tasks.ResourceNotFoundException" log-level= "debug" > <http-error error-code= "404" > <!-- <message>Not Found</message>--> </http-error> </exception> 2. build and deploy the tasks example (ant) 3. open http://127.0.0.1:8080/seam-tasks/ and login as demo:demo 4. open http://127.0.0.1:8080/seam-tasks/seam/resource/v1/auth/category/Xyzzy/aasd
    • NEW

      Error handler will throw NPE if there is no <message/> in pages.xml:

      java.lang.NullPointerException
      	at org.jboss.seam.core.Interpolator.interpolate(Interpolator.java:64)
      	at org.jboss.seam.faces.Navigator.getDisplayMessage(Navigator.java:87)
      	at org.jboss.seam.exception.ErrorHandler.handle(ErrorHandler.java:27)
      	at org.jboss.seam.exception.Exceptions.handle(Exceptions.java:76)
      	at org.jboss.seam.web.ExceptionFilter.endWebRequestAfterException(ExceptionFilter.java:114)
      	at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:70)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:45)
      	at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
      	at org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:158)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
      	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
      	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
      	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:235)
      	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
      	at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:183)
      	at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:95)
      	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.process(SecurityContextEstablishmentValve.java:126)
      	at org.jboss.web.tomcat.security.SecurityContextEstablishmentValve.invoke(SecurityContextEstablishmentValve.java:70)
      	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)
      	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      	at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:158)
      	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.internalProcess(ActiveRequestResponseCacheValve.java:74)
      	at org.jboss.web.tomcat.service.request.ActiveRequestResponseCacheValve.invoke(ActiveRequestResponseCacheValve.java:47)
      	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:330)
      	at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:829)
      	at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:599)
      	at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:452)
      	at java.lang.Thread.run(Thread.java:744)
      
      

      Steps to reproduce:

      edit

      examples/tasks/resources/WEB-INF/pages.xml

      1. change the ResourceNotFoundException handler :

      (note that ResourceNotFoundException has wrong package that also needs to be fixed to be able to reproduce the issue)

          <exception
              class="org.jboss.seam.example.tasks.ResourceNotFoundException"
              log-level="debug">
              <http-error error-code="404">
      <!--            <message>Not Found</message>-->
              </http-error>
          </exception>
      

      2. build and deploy the tasks example (ant)
      3. open http://127.0.0.1:8080/seam-tasks/ and login as demo:demo

      4. open http://127.0.0.1:8080/seam-tasks/seam/resource/v1/auth/category/Xyzzy/aasd

              mnovotny@redhat.com Marek Novotny
              maschmid@redhat.com Marek Schmidt
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

                Created:
                Updated:
                Resolved: