Uploaded image for project: 'Application Server 7'
  1. Application Server 7
  2. AS7-3831

EL problem javax.faces.el.MethodNotFoundException in Seam 3 Booking example

    XMLWordPrintable

Details

    • Bug
    • Resolution: Won't Do
    • Major
    • None
    • 7.1.0.CR1, 7.1.0.Final
    • None
    • None
    • Hide

      1. Build example with "mvn clean package -Pjbossas7"
      2. Deploy it to AS7.1.0.Final
      3. Type to your browser "localhost:8080/seam-booking"
      4. Login on the main page with default credentials
      5. Try to search any hotel - you can type just "a" to search input
      6. Click on any "View" link in the results

      Show
      1. Build example with "mvn clean package -Pjbossas7" 2. Deploy it to AS7.1.0.Final 3. Type to your browser "localhost:8080/seam-booking" 4. Login on the main page with default credentials 5. Try to search any hotel - you can type just "a" to search input 6. Click on any "View" link in the results
    • Release Notes

    Description

      If you try to build WAR from https://github.com/seam/examples/tree/master/booking deploy it and run steps to reproduce, you will get following exception:

      javax.faces.el.MethodNotFoundException: javax.el.MethodNotFoundException: /hotel.xhtml @14,75 action="#

      {bookingAgent.selectHotel(_hotelId)}": Method not found: Proxy for view class: org.jboss.seam.examples.booking.booking.BookingAgent of EJB: BookingAgent.selectHotel(java.lang.String)
      at org.jboss.seam.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:65)
      at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:102)
      at org.jboss.seam.faces.component.UIViewAction.broadcast(UIViewAction.java:381)
      at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:794)
      at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:1259)
      at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:81)
      at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
      at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
      at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
      at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:115)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
      at org.apache.catalina.core.ApplicationDispatcher.invoke(ApplicationDispatcher.java:734)
      at org.apache.catalina.core.ApplicationDispatcher.processRequest(ApplicationDispatcher.java:541)
      at org.apache.catalina.core.ApplicationDispatcher.doForward(ApplicationDispatcher.java:479)
      at org.apache.catalina.core.ApplicationDispatcher.forward(ApplicationDispatcher.java:407)
      at com.ocpsoft.pretty.PrettyFilter.doFilter(PrettyFilter.java:107)
      at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
      at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
      at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
      at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
      at org.jboss.as.jpa.interceptor.WebNonTxEmCloserValve.invoke(WebNonTxEmCloserValve.java:50)
      at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:154)
      at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
      at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
      at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
      at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
      at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:877)
      at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:671)
      at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:930)
      at java.lang.Thread.run(Thread.java:662)
      Caused by: javax.el.MethodNotFoundException: /hotel.xhtml @14,75 action="#{bookingAgent.selectHotel(_hotelId)}

      ": Method not found: Proxy for view class: org.jboss.seam.examples.booking.booking.BookingAgent of EJB: BookingAgent.selectHotel(java.lang.String)
      at com.sun.faces.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:109)
      at org.jboss.seam.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:63)
      ... 32 more

      On AS7.1.0.CR1b displays following message immediately after deployment and typing localhost:8080/seam-booking to your browser:

      The identifier [transient] is not a valid Java identifier as required by section 1.19 of the EL specification (Identifier ::= Java language identifier). This check can be disabled by setting the system property org.apache.el.parser.SKIP_IDENTIFIER_CHECK to true.

      When I set that property to false, then the above exception is thrown. This functionality was ok on 7.1.0.Beta1b

      Attachments

        Activity

          People

            Unassigned Unassigned
            tremes1@redhat.com Tomas Remes
            Votes:
            0 Vote for this issue
            Watchers:
            0 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: