Hello all,

I'working in a new project using JBoss 4.2.0.GA and JBoss-Seam-2.0.0.BETA1. 
This is my first project using Seam.
Here in the company we have the habit to separate a large project into small 
subprojects. Also, we separate data access code, business code, presentation 
code, etc. To simplify, in this project we have three subprojects. Lets call 
this project as ProjectX, so we have the following subprojects:

 - projectx-model
 - projectx-business
 - projectx-web

The projextx-model is a java class library (jar) that contains all the model 
classes (we use hibernate). It contains nothing more than that.

The projectx-business is also a java class library (jar) and it contains all 
the business classes of the application. This project uses the model classes 
from the projectx-model. This project also declares some Seam componentes using 
annotations.

The projectx-web is a web application project that uses the above projects and 
deals only with the presentation layer of the application. This project has all 
xhtml, css, images, etc. It also has some Seam components that interact with 
the presentation code.

Ok, so my problem is that I'm not getting to use the Seam components that are 
declared outside the web application (projectx-web). Searching the 
documentation I found that the only thing you have to do to use Seam components 
in others jar files is to put a components.xml file inside the jar where are 
the components. I have done that. The components are found by the runtime and I 
can see them in their respectives contexts in debug.seam page. However, when I 
try to use them, I always get an error.
To clarify, I will post here a test component I created.

In the projectx-business I have only one class, TestComponent.java as follows:


  | package br.com.techrobot.sirius.spc.tests;
  | 
  | import org.jboss.seam.annotations.*;
  | import br.com.techrobot.sirius.model.users.*;
  | 
  | @AutoCreate
  | @Name("testComponent")
  | public class TestComponent 
  | {
  |     @In
  |     User currentUser;
  |     
  |     public String sayHello()
  |     {
  |             return "Hello world!";
  |     }
  | }
  | 

The User class used above is a model class that represents the logged in user 
of the application.

Also in the projectx-business I have a META-INF folder in the root of my source 
folder. It contains only the components.xml file that is show below:


  | <?xml version="1.0" encoding="UTF-8"?>
  | <components xmlns="http://jboss.com/products/seam/components";>
  | </components>
  | 

In the web project (projectx-web) I have another components, 
TestComponentAction.java, with the following code:


  | package br.com.techrobot.sirius.web.tests;
  | 
  | import java.io.*;
  | import javax.ejb.*;
  | import org.jboss.seam.annotations.*;
  | import org.jboss.seam.log.*;
  | 
  | import br.com.techrobot.sirius.model.users.*;
  | import br.com.techrobot.sirius.spc.tests.*;
  | 
  | @Name("testComponentAction")
  | public class TestComponentAction implements Serializable
  | {
  |     @Logger
  |     protected Log log;
  | 
  |     @In
  |     protected User currentUser;
  | 
  |     @In
  |     TestComponent testComponent;
  | 
  |     @Begin(join = true)
  |     public void create()
  |     {
  |     }
  | 
  |     @Remove
  |     @Destroy
  |     public void destroy()
  |     {
  |     }
  | 
  |     public void doSomething()
  |     {
  |             log.info(testComponent.sayHello());
  |     }
  | }
  | 

This class receives the TestComponent (as also receives the current logged in 
user) and does nothing more than sending the result of the sayHello method of 
the TestComponent to the log.

And, still in the web project, I have the xhtml code that calls the doSomething 
action. It is as follows:


  | <!DOCTYPE composition PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
  |     "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd";>
  | <ui:composition xmlns="http://www.w3.org/1999/xhtml";
  |     xmlns:s="http://jboss.com/products/seam/taglib";
  |     xmlns:ui="http://java.sun.com/jsf/facelets";
  |     xmlns:f="http://java.sun.com/jsf/core";
  |     xmlns:h="http://java.sun.com/jsf/html";
  |     xmlns:rich="http://richfaces.ajax4jsf.org/rich";
  |     template="#{theme.template}">
  | 
  |     <h:form>
  |             <h:commandLink id="doSomething" value="Do Something"
  | action="#{testComponentAction.doSomething}">
  |             </h:commandLink>
  |     </h:form>
  | </ui:composition>
  | 

When I clich the "Do Something" button, I get the following exception:


  | Exception during request processing:
  | Caused by javax.servlet.ServletException with message: 
"#{testComponentAction.doSomething}: java.lang.IllegalArgumentException: could 
not set field value: testComponentAction.testComponent"
  | 
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:256)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | Caused by javax.faces.FacesException with message: 
"#{testComponentAction.doSomething}: java.lang.IllegalArgumentException: could 
not set field value: testComponentAction.testComponent"
  | 
  | 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:107)
  | javax.faces.component.UICommand.broadcast(UICommand.java:383)
  | org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
  | org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
  | 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
  | 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | Caused by javax.faces.el.EvaluationException with message: 
"java.lang.IllegalArgumentException: could not set field value: 
testComponentAction.testComponent"
  | 
  | 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:91)
  | 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
  | javax.faces.component.UICommand.broadcast(UICommand.java:383)
  | org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
  | org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
  | 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
  | 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | Caused by java.lang.IllegalArgumentException with message: "could not set 
field value: testComponentAction.testComponent"
  | 
  | org.jboss.seam.Component.setFieldValue(Component.java:1790)
  | org.jboss.seam.Component.access$600(Component.java:138)
  | org.jboss.seam.Component$BijectedField.set(Component.java:2621)
  | org.jboss.seam.Component.injectAttributes(Component.java:1599)
  | org.jboss.seam.Component.inject(Component.java:1417)
  | 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:63)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  | 
br.com.techrobot.sirius.web.tests.TestComponentAction_$$_javassist_8.doSomething(TestComponentAction_$$_javassist_8.java)
  | sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | java.lang.reflect.Method.invoke(Method.java:597)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
  | org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
  | org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
  | org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
  | com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
  | 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
  | 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
  | javax.faces.component.UICommand.broadcast(UICommand.java:383)
  | org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
  | org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
  | 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
  | 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | Caused by java.lang.IllegalArgumentException with message: "Could not set 
field value by reflection: TestComponentAction.testComponent on: 
br.com.techrobot.sirius.web.tests.TestComponentAction with value: class 
br.com.techrobot.sirius.spc.tests.TestComponent_$$_javassist_9"
  | 
  | org.jboss.seam.util.Reflections.set(Reflections.java:81)
  | org.jboss.seam.Component.setFieldValue(Component.java:1786)
  | org.jboss.seam.Component.access$600(Component.java:138)
  | org.jboss.seam.Component$BijectedField.set(Component.java:2621)
  | org.jboss.seam.Component.injectAttributes(Component.java:1599)
  | org.jboss.seam.Component.inject(Component.java:1417)
  | 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:63)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  | 
br.com.techrobot.sirius.web.tests.TestComponentAction_$$_javassist_8.doSomething(TestComponentAction_$$_javassist_8.java)
  | sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | java.lang.reflect.Method.invoke(Method.java:597)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
  | org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
  | org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
  | org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
  | com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
  | 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
  | 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
  | javax.faces.component.UICommand.broadcast(UICommand.java:383)
  | org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
  | org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
  | 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
  | 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 
  | Caused by java.lang.IllegalArgumentException with message: "Can not set 
br.com.techrobot.sirius.spc.tests.TestComponent field 
br.com.techrobot.sirius.web.tests.TestComponentAction.testComponent to 
br.com.techrobot.sirius.spc.tests.TestComponent_$$_javassist_9"
  | 
  | 
sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:146)
  | 
sun.reflect.UnsafeFieldAccessorImpl.throwSetIllegalArgumentException(UnsafeFieldAccessorImpl.java:150)
  | 
sun.reflect.UnsafeObjectFieldAccessorImpl.set(UnsafeObjectFieldAccessorImpl.java:63)
  | java.lang.reflect.Field.set(Field.java:657)
  | org.jboss.seam.util.Reflections.set(Reflections.java:66)
  | org.jboss.seam.Component.setFieldValue(Component.java:1786)
  | org.jboss.seam.Component.access$600(Component.java:138)
  | org.jboss.seam.Component$BijectedField.set(Component.java:2621)
  | org.jboss.seam.Component.injectAttributes(Component.java:1599)
  | org.jboss.seam.Component.inject(Component.java:1417)
  | 
org.jboss.seam.core.BijectionInterceptor.aroundInvoke(BijectionInterceptor.java:45)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.ConversationInterceptor.aroundInvoke(ConversationInterceptor.java:63)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | 
org.jboss.seam.core.MethodContextInterceptor.aroundInvoke(MethodContextInterceptor.java:42)
  | 
org.jboss.seam.intercept.SeamInvocationContext.proceed(SeamInvocationContext.java:68)
  | org.jboss.seam.intercept.RootInterceptor.invoke(RootInterceptor.java:106)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:155)
  | 
org.jboss.seam.intercept.JavaBeanInterceptor.invoke(JavaBeanInterceptor.java:91)
  | 
br.com.techrobot.sirius.web.tests.TestComponentAction_$$_javassist_8.doSomething(TestComponentAction_$$_javassist_8.java)
  | sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
  | 
sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
  | 
sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
  | java.lang.reflect.Method.invoke(Method.java:597)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:328)
  | org.jboss.el.util.ReflectionUtil.invokeMethod(ReflectionUtil.java:341)
  | org.jboss.el.parser.AstPropertySuffix.invoke(AstPropertySuffix.java:58)
  | org.jboss.el.parser.AstValue.invoke(AstValue.java:96)
  | org.jboss.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:276)
  | com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
  | 
javax.faces.component.MethodBindingMethodExpressionAdapter.invoke(MethodBindingMethodExpressionAdapter.java:77)
  | 
com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:91)
  | javax.faces.component.UICommand.broadcast(UICommand.java:383)
  | org.ajax4jsf.component.AjaxViewRoot.processEvents(AjaxViewRoot.java:186)
  | org.ajax4jsf.component.AjaxViewRoot.broadcastEvents(AjaxViewRoot.java:164)
  | 
org.ajax4jsf.component.AjaxViewRoot.processApplication(AjaxViewRoot.java:352)
  | 
com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:97)
  | com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:251)
  | com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:117)
  | javax.faces.webapp.FacesServlet.service(FacesServlet.java:244)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:83)
  | org.jboss.seam.web.MultipartFilter.doFilter(MultipartFilter.java:85)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.ExceptionFilter.doFilter(ExceptionFilter.java:64)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.RedirectFilter.doFilter(RedirectFilter.java:44)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.ajax4jsf.webapp.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:141)
  | org.ajax4jsf.webapp.BaseFilter.doFilter(BaseFilter.java:281)
  | org.jboss.seam.web.Ajax4jsfFilter.doFilter(Ajax4jsfFilter.java:60)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.web.LoggingFilter.doFilter(LoggingFilter.java:58)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.debug.hot.HotDeployFilter.doFilter(HotDeployFilter.java:68)
  | 
org.jboss.seam.servlet.SeamFilter$FilterChainImpl.doFilter(SeamFilter.java:69)
  | org.jboss.seam.servlet.SeamFilter.doFilter(SeamFilter.java:150)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
  | 
org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
  | 
org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
  | 
org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:230)
  | 
org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
  | 
org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:179)
  | 
org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:433)
  | 
org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:84)
  | 
org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
  | 
org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
  | 
org.jboss.web.tomcat.service.jca.CachedConnectionValve.invoke(CachedConnectionValve.java:156)
  | 
org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
  | org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:241)
  | org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:844)
  | 
org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:580)
  | org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
  | java.lang.Thread.run(Thread.java:619)
  | 

When I move the TestComponent.java to the source folder of the web application 
(projectx-web), I don't get this error and everything works as expected.
This makes me think that the problem is about using a Seam component in 
different projects (jar files), not within the web application.
Perhaps it could be some missing configuration?

So, that's all. I didn't find any sample code of something similar to this 
approach we use here (separating projects). All I found is only one big web 
application project that does everything. If any of you have some reference, it 
would be very helpful.

Any help or tip is very welcome.

Thanks in advance,
Rodrigo.

View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4096012#4096012

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4096012
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to