12 Replies Latest reply on Aug 18, 2009 8:50 AM by Sascha Janz

    statusmessages not found on type...

    Sascha Janz Master
      i am getting following error when clicking any commandbutton on my page

      14:06:23,012 WARN  [ExceptionFilter] exception root cause
      javax.el.ELException: /layout/edittabledata.xhtml @26,116 binding="#{Pag
      e.rowdatagrid}": Error writing 'rowdatagrid' on type org.javassist.tmp.java.lang
      .Object_$$_javassist_2
              at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.ja
      va:101)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(Restor
      eViewPhase.java:240)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(Restor
      eViewPhase.java:245)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(Restor
      eViewPhase.java:245)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(Restor
      eViewPhase.java:245)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPerComponentActions(Restor
      eViewPhase.java:245)
              at com.sun.faces.lifecycle.RestoreViewPhase.execute(RestoreViewPhase.jav
      a:195)
              at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:100)
              at com.sun.faces.lifecycle.RestoreViewPhase.doPhase(RestoreViewPhase.jav
      a:104)
              at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)

              at javax.faces.webapp.FacesServlet.service(FacesServlet.java:265)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
      icationFilterChain.java:290)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
      ilterChain.java:206)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter
      .java:83)
              at org.jboss.seam.web.IdentityFilter.doFilter(IdentityFilter.java:40)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter
      .java:69)
              at org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:90)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter
      .java:69)
              at org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
              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.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:178)

              at org.ajax4jsf.webapp.BaseFilter.handleRequest(BaseFilter.java:290)
              at org.ajax4jsf.webapp.BaseFilter.processUploadsAndHandleRequest(BaseFil
      ter.java:368)
              at org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:495)
              at org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:56)
              at org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter
      .java:69)
              at org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
              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(Appl
      icationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
      ilterChain.java:206)
              at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFi
      lter.java:96)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Appl
      icationFilterChain.java:235)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationF
      ilterChain.java:206)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperV
      alve.java:230)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextV
      alve.java:175)
              at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(Securit
      yAssociationValve.java:182)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authentica
      torBase.java:432)
              at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValv
      e.java:84)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.j
      ava:127)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.j
      ava:102)
              at org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedC
      onnectionValve.java:157)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineVal
      ve.java:109)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.jav
      a:262)
              at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java
      :844)
              at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.proce
      ss(Http11Protocol.java:583)
              at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:44
      6)
              at java.lang.Thread.run(Thread.java:619)
      Caused by: javax.ejb.EJBTransactionRolledbackException: Property 'statusMessages
      ' not found on type org.jboss.seam.Namespace
              at org.jboss.ejb3.tx.Ejb3TxPolicy.handleInCallerTx(Ejb3TxPolicy.java:87)

              at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:130)
              at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java
      :195)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.aspects.tx.TxPropagationInterceptor.invoke(TxPropagationInt
      erceptor.java:95)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.stateful.StatefulInstanceInterceptor.invoke(StatefulIn
      stanceInterceptor.java:83)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.aspects.security.AuthenticationInterceptor.invoke(Authentic
      ationInterceptor.java:77)
              at org.jboss.ejb3.security.Ejb3AuthenticationInterceptor.invoke(Ejb3Auth
      enticationInterceptor.java:110)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.ENCPropagationInterceptor.invoke(ENCPropagationInterce
      ptor.java:46)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.asynchronous.AsynchronousInterceptor.invoke(Asynchrono
      usInterceptor.java:106)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.stateful.StatefulContainer.localInvoke(StatefulContain
      er.java:206)
              at org.jboss.ejb3.stateful.StatefulLocalProxy.invoke(StatefulLocalProxy.
      java:119)
              at $Proxy100.setRowdatagrid(Unknown Source)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.seam.util.Reflections.invoke(Reflections.java:22)
              at org.jboss.seam.intercept.RootInvocationContext.proceed(RootInvocation
      Context.java:31)
              at org.jboss.seam.intercept.ClientSideInterceptor$1.proceed(ClientSideIn
      terceptor.java:76)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:56)
              at org.jboss.seam.ejb.RemoveInterceptor.aroundInvoke(RemoveInterceptor.j
      ava:43)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.core.SynchronizationInterceptor.aroundInvoke(Synchroni
      zationInterceptor.java:32)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:
      107)
              at org.jboss.seam.intercept.ClientSideInterceptor.invoke(ClientSideInter
      ceptor.java:54)
              at org.javassist.tmp.java.lang.Object_$$_javassist_2.setRowdatagrid(Obje
      ct_$$_javassist_2.java)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.
      java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at javax.el.BeanELResolver.setValue(BeanELResolver.java:108)
              at javax.el.CompositeELResolver.setValue(CompositeELResolver.java:68)
              at com.sun.faces.el.FacesCompositeELResolver.setValue(FacesCompositeELRe
      solver.java:100)
              at org.jboss.el.parser.AstPropertySuffix.setValue(AstPropertySuffix.java
      :73)
              at org.jboss.el.parser.AstValue.setValue(AstValue.java:84)
              at org.jboss.el.ValueExpressionImpl.setValue(ValueExpressionImpl.java:24
      9)
              at com.sun.facelets.el.TagValueExpression.setValue(TagValueExpression.ja
      va:93)
              ... 49 more
      Caused by: javax.el.PropertyNotFoundException: Property 'statusMessages' not fou
      nd on type org.jboss.seam.Namespace
              at javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
              at javax.el.BeanELResolver$BeanProperties.access$400(BeanELResolver.java
      :170)
              at javax.el.BeanELResolver.property(BeanELResolver.java:279)
              at javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
              at javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
              at com.sun.faces.el.FacesCompositeELResolver.getValue(FacesCompositeELRe
      solver.java:72)
              at org.jboss.el.parser.AstPropertySuffix.getValue(AstPropertySuffix.java
      :53)
              at org.jboss.el.parser.AstValue.getValue(AstValue.java:67)
              at org.jboss.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:18
      6)
              at org.jboss.seam.core.Expressions$1.getValue(Expressions.java:112)
              at org.jboss.seam.Component.getInstanceFromFactory(Component.java:2031)
              at org.jboss.seam.Component.getInstance(Component.java:1978)
              at org.jboss.seam.Component.getInstance(Component.java:1950)
              at org.jboss.seam.Component.getInstance(Component.java:1944)
              at org.jboss.seam.Component.getInstanceInAllNamespaces(Component.java:23
      11)
              at org.jboss.seam.Component.getValueToInject(Component.java:2263)
              at org.jboss.seam.Component.injectAttributes(Component.java:1703)
              at org.jboss.seam.Component.inject(Component.java:1521)
              at org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterc
      eptor.java:61)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.core.ConversationInterceptor.aroundInvoke(Conversation
      Interceptor.java:65)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodConte
      xtInterceptor.java:44)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.persistence.EntityManagerProxyInterceptor.aroundInvoke
      (EntityManagerProxyInterceptor.java:29)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.persistence.HibernateSessionProxyInterceptor.aroundInv
      oke(HibernateSessionProxyInterceptor.java:31)
              at org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocation
      Context.java:68)
              at org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:
      107)
              at org.jboss.seam.intercept.SessionBeanInterceptor.aroundInvoke(SessionB
      eanInterceptor.java:50)
              at sun.reflect.GeneratedMethodAccessor106.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces
      sorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.ejb3.interceptor.InvocationContextImpl.proceed(InvocationCo
      ntextImpl.java:118)
              at org.jboss.ejb3.interceptor.EJB3InterceptorsInterceptor.invoke(EJB3Int
      erceptorsInterceptor.java:63)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.entity.ExtendedPersistenceContextPropagationIntercepto
      r.invoke(ExtendedPersistenceContextPropagationInterceptor.java:57)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.entity.TransactionScopedEntityManagerInterceptor.invok
      e(TransactionScopedEntityManagerInterceptor.java:54)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.ejb3.AllowedOperationsInterceptor.invoke(AllowedOperationsI
      nterceptor.java:47)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.
      java:101)
              at org.jboss.aspects.tx.TxPolicy.invokeInCallerTx(TxPolicy.java:126)
              ... 91 more


      The bean is defined as

      @Stateful
      @Name("Page")
      @Scope(value = ScopeType.SESSION)

      and the component referenced by binding

           HtmlPanelGroup rowdatagrid = new HtmlPanelGroup();

           public void setRowdatagrid(HtmlPanelGroup grid) {
                rowdatagrid = grid;

           }

           

           public HtmlPanelGroup getRowdatagrid() {
                return rowdatagrid;}

      i use seam 2.1.2

      any ideas where problem is?
        • 1. Re: statusmessages not found on type...
          Leo van den berg Master


          Property 'statusMessages' not found on type org.jboss.seam.Namespace



          I think you have a conflict EL is resolving stuff. Somewhere it ends up reading internal Seam-components. To start, give the component anothername (something like pageReference to see of that helps.



          • 3. Re: statusmessages not found on type...
            Leo van den berg Master

            It tries to read an attrribute statusMessages, is that your intention ?

            • 4. Re: statusmessages not found on type...
              Sascha Janz Master
              but i don't have anywhere a property statusmessages ....

              only thing on page is

                             <a4j:outputPanel ajaxRendered="true" >
                   <h:messages id="tablemessages" style="color:red" />

                   
                   </a4j:outputPanel>
              • 5. Re: statusmessages not found on type...
                Leo van den berg Master

                You code states that on line 26, column 116 you have an expression which tries to bind Page.rowdatagrid which results in an object.



                14:06:23,012 WARN [ExceptionFilter] exception root cause
                javax.el.ELException: /layout/edittabledata.xhtml @26,116 binding="#{Pag
                e.rowdatagrid}": Error writing 'rowdatagrid' on type org.javassist.tmp.java.lang
                .Object_$$_javassist_2
                
                
                


                The root cause is not finding the attribute statusMessages. Sometimes it get's these funny warning, but that's basically what the EL-interpreter finds. So if the the bean is properly annotated (name, jndi name, seam interceptor) things should work. If you send some more code of the page and bean, people can do some additional digging.


                • 6. Re: statusmessages not found on type...
                  Sascha Janz Master
                  ok line 26 of edittabledata.xhtml is

                  <h:panelGroup id="idrowdata" layout="block" style="background-color:white" binding="#{WorkflowPage.rowdatagrid}"/>

                  Interface of page is

                  @Local
                  public interface Page  {

                       public HtmlPanelGroup getRowdatagrid();

                       public void setRowdatagrid(HtmlPanelGroup grid);

                  }

                  Bean

                  @Stateful
                  @Name("Page")
                  @Scope(value = ScopeType.SESSION)
                  public class PageBean implements Page {

                       @In(required = false)
                       FacesMessages facesMessages;


                       HtmlPanelGroup rowdatagrid = new HtmlPanelGroup();

                       public void setRowdatagrid(HtmlPanelGroup grid) {
                            rowdatagrid = grid;

                       }


                       public HtmlPanelGroup getRowdatagrid() {
                             return rowdatagrid;
                            }
                  }

                  • 7. Re: statusmessages not found on type...
                    Leo van den berg Master

                    The EL states WorkFlowPage while your bean is called page.


                    I assume that you've configured the SeamInterceptor correctly and you're using jndi-name.


                    (defining the seam-interceptor is done in ejb-jar.xml and you have defined jndi-pattern in components.xml)


                    • 8. Re: statusmessages not found on type...
                      Sascha Janz Master
                      ok .sorry it's page not workflowpage

                      contents of ejb-jar.xml

                      <?xml version="1.0" encoding="UTF-8"?>
                      <ejb-jar 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/ejb-jar_3_0.xsd"
                               version="3.0">
                              
                         <interceptors>
                            <interceptor>
                               <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
                            </interceptor>
                         </interceptors>
                        
                         <assembly-descriptor>
                            <interceptor-binding>
                               <ejb-name>*</ejb-name>
                               <interceptor-class>org.jboss.seam.ejb.SeamInterceptor</interceptor-class>
                            </interceptor-binding>
                         </assembly-descriptor>
                        
                      </ejb-jar>



                      contents of components.xml

                      <?xml version="1.0" encoding="UTF-8"?>
                      <components xmlns="http://jboss.com/products/seam/components"
                                  xmlns:core="http://jboss.com/products/seam/core"
                                  xmlns:persistence="http://jboss.com/products/seam/persistence"
                                  xmlns:drools="http://jboss.com/products/seam/drools"
                                  xmlns:bpm="http://jboss.com/products/seam/bpm"
                                  xmlns:security="http://jboss.com/products/seam/security"
                                  xmlns:mail="http://jboss.com/products/seam/mail"
                                  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
                                  xsi:schemaLocation=
                                      "http://jboss.com/products/seam/core http://jboss.com/products/seam/core-2.0.xsd
                                       http://jboss.com/products/seam/persistence http://jboss.com/products/seam/persistence-2.0.xsd
                                       http://jboss.com/products/seam/drools http://jboss.com/products/seam/drools-2.0.xsd
                                       http://jboss.com/products/seam/bpm http://jboss.com/products/seam/bpm-2.0.xsd
                                       http://jboss.com/products/seam/security http://jboss.com/products/seam/security-2.0.xsd
                                       http://jboss.com/products/seam/mail http://jboss.com/products/seam/mail-2.0.xsd
                                       http://jboss.com/products/seam/components http://jboss.com/products/seam/components-2.0.xsd">

                         <core:init debug="false" jndi-pattern="@jndiPattern@"/>
                          
                         <core:manager concurrent-request-timeout="500"
                                       conversation-timeout="120000"
                                       conversation-id-parameter="cid"
                                       parent-conversation-id-parameter="pid"/>
                         
                         <persistence:managed-persistence-context name="entityManager"
                                                           auto-create="true"
                                            persistence-unit-jndi-name="java:/myappEntityManagerFactory"/>                         
                            <security:identity authenticate-method="#{authenticator.authenticate}" remember-me="true"/>

                        
                         <mail:mail-session host="localhost" port="2525" username="test" password="test" />
                             
                         <!-- For use with jBPM pageflow or process management -->
                         <!-- 
                         <bpm:jbpm>
                            <bpm:process-definitions></bpm:process-definitions>
                            <bpm:pageflow-definitions></bpm:pageflow-definitions>
                         </bpm:jbpm>
                         -->
                         <component class="org.jboss.seam.web.MultipartFilter">
                        <property name="createTempFiles">true</property>
                        <property name="maxRequestSize">100000000</property>
                      </component>
                        
                           
                      </components>
                      • 9. Re: statusmessages not found on type...
                        Sascha Janz Master
                        sorry and

                        jndiPattern= #{ejbName}/local

                        in components.properties

                        • 10. Re: statusmessages not found on type...
                          Leo van den berg Master

                          Why are you using



                          HtmlPanelGroup rowdatagrid = new HtmlPanelGroup();



                          If the variable get's injnecte with binding.


                          I see that you're using JBPM so why don't you use a BusinessScope ?


                          • 11. Re: statusmessages not found on type...
                            Sascha Janz Master

                            i also saw this and changed to


                            HtmlPanelGroup rowdatagrid;


                            but error further occurs.



                            yes i use jbpm but without seam....may be i will integrate ....but not at the moment


                            • 12. Re: statusmessages not found on type...
                              Sascha Janz Master
                              seams that HtmlPanelGroup rowdatagrid = new HtmlPanelGroup();

                              was the problem....

                              now it works.