Author |
Message |
10/08/2009 11:38:43
|
gjones
Power User
Joined: 30/06/2009 16:52:33
Messages: 38
Offline
|
Code:
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:313)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.eclnt.jsfserver.util.ThreadingFilter.doFilter(ThreadingFilter.java:175)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.eclnt.jsfserver.util.CompressionFilter.doFilter(CompressionFilter.java:33)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:128)
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:286)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:845)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:583)
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:447)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Error: java.lang.Error: java.lang.IllegalAccessException: Class org.eclnt.jsfserver.util.StackedMethodBinding can not access a member of class my.code.base.managedbeans.SomeClass$MyGridBinding with modifiers "public"
at org.eclnt.jsfserver.elements.MethodBindingDelegator.invoke(MethodBindingDelegator.java:113)
at org.eclnt.jsfserver.elements.BaseActionComponent.broadcast(BaseActionComponent.java:237)
at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:267)
at javax.faces.component.UIViewRoot.processUpdates(UIViewRoot.java:364)
at com.sun.faces.lifecycle.UpdateModelValuesPhase.execute(UpdateModelValuesPhase.java:81)
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:290)
... 17 more
Caused by: java.lang.Error: java.lang.IllegalAccessException: Class org.eclnt.jsfserver.util.StackedMethodBinding can not access a member of class my.code.base.managedbeans.SomeClass$MyGridBinding with modifiers "public"
at org.eclnt.jsfserver.util.StackedMethodBinding.invoke(StackedMethodBinding.java:91)
at org.eclnt.jsfserver.elements.MethodBindingDelegator.invoke(MethodBindingDelegator.java:72)
... 25 more
Caused by: java.lang.IllegalAccessException: Class org.eclnt.jsfserver.util.StackedMethodBinding can not access a member of class my.code.base.managedbeans.SomeClass$MyGridBinding with modifiers "public"
at sun.reflect.Reflection.ensureMemberAccess(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.eclnt.jsfserver.util.StackedMethodBinding.invoke(StackedMethodBinding.java:67)
... 26 more
I can find nothing in the logs and nothing in the above error message to indicate what it was trying to do.
|
|
|
10/08/2009 12:10:17
|
mreich
Power User
Joined: 30/01/2009 08:34:23
Messages: 750
Offline
|
Hi,
can you send your coding of class SomeClass? It seems that sthgs wrong with the visibility of some methods?
regards
Markus
|
|
|
10/08/2009 12:37:12
|
gjones
Power User
Joined: 30/06/2009 16:52:33
Messages: 38
Offline
|
Hi Markus,
Yeah, I gathered that, thanks. My complaint was that I would have expected to see the name of the method in the error, but it just says "can not access a member of class ...". I would expect that the code trying to access the member would know what it was trying to access and be able report that fact.
I've fixed it, anyway, by rolling back through the changes until I found what it was that caused it.
|
|
|
11/08/2009 08:09:54
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5535
Offline
|
Hi,
have you checked the full log?
This is the code of StackedMethodBinding, line 91 is highlighted:
Code:
public Object invoke(FacesContext context, Object[] args)
throws EvaluationException, MethodNotFoundException
{
try
{
Object o = m_valueBinding.getValue(context);
if (o == null)
{
CLog.L.log(CLog.LL_ERR,"Object for execution of method \"+m_methodName+\"is null. ValueBinding is: " + m_valueBinding.getExpressionString());
return null;
}
Method m = o.getClass().getMethod(m_methodName,new Class[] {ActionEvent.class});
m.invoke(o,args);
}
catch (InvocationTargetException itexc)
{
// original exception to be passed back to application processing
CLog.L.log(CLog.LL_ERR,"Invocation target exception: " + m_methodName + ", " + itexc.toString());
if (itexc.getCause() != null)
throw new Error(itexc.getCause());
else
throw new Error(itexc);
}
catch (NoSuchMethodException nsme)
{
CLog.L.log(CLog.LL_ERR,"Method not available: " + m_methodName);
throw new MethodNotFoundException(nsme);
}
catch (ArrayIndexOutOfBoundsException exc)
{
CLog.L.log(CLog.LL_ERR,"Array index not available: " + m_methodName);
throw new Error(exc);
}
catch (Throwable t)
{
CLog.L.log(CLog.LL_ERR,"Invoke failed: " + m_methodName,t);
throw new Error(t); // >>>> line 91 <<<<<
}
return null;
}
There must be a "Invoke failed" with the output of the method name...
Björn
|
Björn Müller, CaptainCasa GmbH |
|
|
11/08/2009 08:13:04
|
CaptainCasa
Power User
Joined: 21/11/2007 12:23:06
Messages: 5535
Offline
|
CaptainCasa logs by default are written into tomcat/work/etc. etc. of your web application.
You can configure details by defining /eclntjsfserver/config/logging.xml, there is also an option to output all log info to console as well (which is quite useful for development scenarios).
Björn
|
Björn Müller, CaptainCasa GmbH |
|
|
|