IllegalArgumentException: could not set field value: linkEdi
bsmithjj May 16, 2006 8:20 AMHello,
I am having a problem with @Injection (I think). Here is the source code (Facelets XHTML) for an HTML form:
<ui:composition>
<h:form>
<h:inputHidden id="id" value="#{link.id}"/>
<div>
<span class="label"><h:outputLabel for="url">URL:</h:outputLabel></span>
<span class="input">
<h:inputText id="url" value="#{link.URL}"/><br/>
<span class="errors"><h:message for="URL"/></span>
</span>
</div>
<div>
<span class="label"><h:outputLabel for="title">Link Title:</h:outputLabel></span>
<span class="input">
<h:inputText id="title" value="#{link.title}"/><br/>
<span class="errors"><h:message for="title"/></span>
</span>
</div>
<div class="entry errors"><h:messages globalOnly="true"/></div>
<c:choose>
<c:when test="#{link.id gt 0}">
<h:commandButton value=" save changes " action="#{linkEditor.updateLink}" class="button"/>
</c:when>
<c:otherwise>
<h:commandButton value=" create link " action="#{linkCreator.createLink}" class="button"/>
</c:otherwise>
</c:choose>
<f:verbatim> </f:verbatim>
<script type="text/javascript" language="javascript">
function gotoPage(pageUrl) {
if (pageUrl) {
window.location.pathname = pageUrl;
}
}
</script>
<h:commandButton value=" cancel " type="button" onclick="gotoPage('/userlinks/main.seam');"/>
</h:form>
</ui:composition>
Here is the generated source:
<form id="_id0" method="post" action="/userlinks/edit-link.seam" enctype="application/x-www-form-urlencoded">
<input id="_id0:id" type="hidden" name="_id0:id" value="20" />
<div>
<span class="label"><label for="_id0:url">
URL:</label></span>
<span class="input"><input id="_id0:url" type="text" name="_id0:url" value="http://www.boston.com/" /><br />
<span class="errors"></span>
</span>
</div>
<div>
<span class="label"><label for="_id0:title">
Link Title:</label></span>
<span class="input"><input id="_id0:title" type="text" name="_id0:title" value="boston" /><br />
<span class="errors"></span>
</span>
</div>
<div class="entry errors"></div><input type="submit" name="_id0:_id16" value=" save changes " class="button" />
<script type="text/javascript" language="javascript">
function gotoPage(pageUrl) {
if (pageUrl) {
window.location.pathname = pageUrl;
}
}
</script><input type="button" name="_id0:_id19" value=" cancel " onclick="gotoPage('/userlinks/main.seam');" /> <input type="hidden" name="com.sun.faces.VIEW" value="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" />
<input type="hidden" name="_id0" value="_id0" /></form>
Here is the component that responds to submits from this form:
@Name("linkEditor")
@Scope(ScopeType.CONVERSATION)
public class LinkEditor {
private Log log = LogFactory.getLog(UserLinkActions.class);
// Resources
@In(create = true)
private Session appssoDB;
// Entities
@In(create = false,required = true)
@Out(scope = ScopeType.SESSION, value = "user")
private User user;
@In(create = true) @Out
private Link link;
@RequestParameter("id")
private long linkId;
// UI, Misc...
@In(create = true)
private FacesMessages facesMessages;
@End(ifOutcome={"success"})
public String createLink() {
log.info("createLink() - entered");
final User u = (User) appssoDB.get(User.class, user.getId());
if (u != null) {
Transaction tx = appssoDB.beginTransaction();
if (link != null)
u.addLink(link);
link.initDates();
appssoDB.save(u);
tx.commit();
appssoDB.refresh(u);
user = u;
return "success";
} else {
facesMessages.add("User does not exist in database.");
return null;
}
}
public String updateLink() {
log.info("updateLink() - link.id="+linkId);
if (link != null || link.getId()>0) {
final Link l = getLink(link.getId(),user.getId());
if (l != null ) {
l.setTitle(link.getTitle());
l.setRank(link.getRank());
l.setURL(link.getURL());
l.refreshUpdateDate();
user.addLink(l);
appssoDB.save(user);
appssoDB.refresh(user);
link = user.getLink(link.getId());
return "success";
}
}
facesMessages.add("Unable to update requested link.");
return null;
}
public String deleteLink() {
log.info("deleteLink() - linkId="+linkId);
link = getLink(linkId,user.getId());
log.info(" link -> "+link);
if (link != null) {
Transaction tx = appssoDB.beginTransaction();
link.getUser().removeLink(link);
appssoDB.save(link.getUser());
tx.commit();
user = (User)appssoDB.get(User.class, user.getId());
return "success";
} else {
facesMessages.add("Unable to delete requested link.");
return null;
}
}
public String readLink() {
link = getLink(linkId,user.getId());
log.info("getLink() - link -> "+link);
if (link != null) {
return "success";
} else {
facesMessages.add("Unable to load requested link.");
return null;
}
}
/** The link we are editting must be associated with a particular user.
*
* @return a link
*/
private Link getLink(long lid, long uid) {
log.info("getLink() - lid="+lid+"\tuser.id="+uid);
return (Link)appssoDB.createQuery("from Link as link where link.user.id=:uid and link.id=:lid")
.setParameter("lid",lid)
.setParameter("uid",uid)
.uniqueResult();
}
}
Here is the problem -
The form's submit button in this case is wired to the linkEditor.updateLink action. When I submit the form, I get the following stack trace:
08:07:02,190 ERROR [InvokeApplicationPhase] #{linkEditor.updateLink}: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException:
could not set field value: linkEditor.id
javax.faces.FacesException: #{linkEditor.updateLink}: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException: could not set f
ield value: linkEditor.id
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:441)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException: could not set field value: linkEditor.id
at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
... 35 more
Caused by: java.lang.IllegalArgumentException: could not set field value: linkEditor.id
at org.jboss.seam.Component.setFieldValue(Component.java:1068)
at org.jboss.seam.Component.injectParameters(Component.java:723)
at org.jboss.seam.Component.inject(Component.java:698)
at org.jboss.seam.interceptors.BijectionInterceptor.bijectTargetComponent(BijectionInterceptor.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:45)
at org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
at org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
at com.evergreen.userlinks.biz.LinkEditor$$EnhancerByCGLIB$$201d8ec8.updateLink(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
... 36 more
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeLongFieldAccessorImpl.set(UnsafeLongFieldAccessorImpl.java:62)
at java.lang.reflect.Field.set(Field.java:656)
at org.jboss.seam.Component.setFieldValue(Component.java:1064)
... 91 more
08:07:02,190 ERROR [SeamExceptionFilter] uncaught exception handled by Seam
javax.servlet.ServletException: #{linkEditor.updateLink}: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException: could not s
et field value: linkEditor.id
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:209)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:441)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
08:07:02,206 ERROR [SeamExceptionFilter] could not roll back transaction
java.lang.ClassCastException: org.jboss.tm.usertx.client.ServerVMClientUserTransaction
at org.jboss.seam.util.Transactions.getUserTransaction(Transactions.java:48)
at org.jboss.seam.util.Transactions.isTransactionActiveOrMarkedRollback(Transactions.java:35)
at org.jboss.seam.servlet.SeamExceptionFilter.rollbackAfterException(SeamExceptionFilter.java:77)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:50)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:441)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
08:07:02,206 ERROR [[Faces Servlet]] Servlet.service() for servlet Faces Servlet threw exception
javax.faces.FacesException: #{linkEditor.updateLink}: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException: could not set f
ield value: linkEditor.id
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:78)
at javax.faces.component.UICommand.broadcast(UICommand.java:312)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:381)
at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:75)
at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:200)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:90)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:197)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamExceptionFilter.doFilter(SeamExceptionFilter.java:45)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.seam.servlet.SeamRedirectFilter.doFilter(SeamRedirectFilter.java:23)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at edu.yale.its.tp.cas.client.filter.CASFilter.doFilter(CASFilter.java:441)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.jboss.web.tomcat.filters.ReplyHeaderFilter.doFilter(ReplyHeaderFilter.java:96)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.jboss.web.tomcat.security.CustomPrincipalValve.invoke(CustomPrincipalValve.java:54)
at org.jboss.web.tomcat.security.SecurityAssociationValve.invoke(SecurityAssociationValve.java:174)
at org.jboss.web.tomcat.security.JaccContextValve.invoke(JaccContextValve.java:74)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:664)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.MasterSlaveWorkerThread.run(MasterSlaveWorkerThread.java:112)
at java.lang.Thread.run(Thread.java:595)
Caused by: javax.faces.el.EvaluationException: /edit-link.xhtml @51,99 action="#{linkEditor.updateLink}": java.lang.IllegalArgumentException: could not set field value: linkEditor.id
at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:73)
at com.sun.faces.application.ActionListenerImpl.processAction(ActionListenerImpl.java:72)
... 35 more
Caused by: java.lang.IllegalArgumentException: could not set field value: linkEditor.id
at org.jboss.seam.Component.setFieldValue(Component.java:1068)
at org.jboss.seam.Component.injectParameters(Component.java:723)
at org.jboss.seam.Component.inject(Component.java:698)
at org.jboss.seam.interceptors.BijectionInterceptor.bijectTargetComponent(BijectionInterceptor.java:30)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.ConversationInterceptor.endOrBeginLongRunningConversation(ConversationInterceptor.java:68)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.BusinessProcessInterceptor.manageBusinessProcessContext(BusinessProcessInterceptor.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.TransactionInterceptor.doInTransactionIfNecessary(TransactionInterceptor.java:34)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.interceptors.RemoveInterceptor.removeIfNecessary(RemoveInterceptor.java:39)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at org.jboss.seam.util.Reflections.invoke(Reflections.java:13)
at org.jboss.seam.interceptors.Interceptor.aroundInvoke(Interceptor.java:87)
at org.jboss.seam.interceptors.SeamInvocationContext.proceed(SeamInvocationContext.java:60)
at org.jboss.seam.ejb.SeamInterceptor.aroundInvokeInContexts(SeamInterceptor.java:73)
at org.jboss.seam.ejb.SeamInterceptor.aroundInvoke(SeamInterceptor.java:45)
at org.jboss.seam.interceptors.JavaBeanInterceptor.interceptInvocation(JavaBeanInterceptor.java:51)
at org.jboss.seam.interceptors.JavaBeanInterceptor.intercept(JavaBeanInterceptor.java:39)
at com.evergreen.userlinks.biz.LinkEditor$$EnhancerByCGLIB$$201d8ec8.updateLink(<generated>)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.el.parser.AstValue.invoke(AstValue.java:151)
at com.sun.el.MethodExpressionImpl.invoke(MethodExpressionImpl.java:283)
at com.sun.facelets.el.TagMethodExpression.invoke(TagMethodExpression.java:68)
at com.sun.facelets.el.LegacyMethodBinding.invoke(LegacyMethodBinding.java:69)
... 36 more
Caused by: java.lang.IllegalArgumentException
at sun.reflect.UnsafeLongFieldAccessorImpl.set(UnsafeLongFieldAccessorImpl.java:62)
at java.lang.reflect.Field.set(Field.java:656)
at org.jboss.seam.Component.setFieldValue(Component.java:1064)
... 91 more
I am using JBoss 4.0.4.CR2, Seam 1.0.0.CR1, etc...
Also, this same form works fine when I invoke the createLink method in another component (see the c:choose usage above).
Help!
Thanks.