On Feb 19, 2007, at 9:44 AM, Kamalanathan Raman wrote:
Hi,
Thanks Kevan for replying
Our J2EE application uses struts.
We are using filter before invoking every action (*.do).
So, every action file will be invoked from “Security Filter” which
implements Filter interface.
Our problem is Security filter is not invoking in some of the
instances the corresponding action file.
When it successfully invokes action file
chain.doFilter(request, response);
after this step its going to the action file. But when unable to it
is going to the catch block.
Inspite of getting the path correct it is unable to invoke the
action file. I confirmed whether it is getting the right path or
not by keeping the alert in jsp
So any idea why it’s happening? Any thing to do with the objects
being passed to chain.doFilter method ?
May be the request and response objects are not getting populated
properly. Or is there any other mistake?
Please see the stack trace and kindly advice us how to proceed
ERROR [SecurityFilter] doFilter(ServletRequest sreq,
ServletResponse sres,FilterChain chain)SecurityFilter.doFilter :
Exception
javax.servlet.ServletException: Servlet execution threw an exception
at org.apache.catalina.core.
ApplicationFilterChain.internalDoFilter
(ApplicationFilterChain.java:275)
at
org.apache.catalina.core.ApplicationFilterChain.doFilter
(ApplicationFilterChain.java:173)
at com.symcor.wir.security.web.SecurityFilter.doFilter
(SecurityFilter.java:450)
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.apache.geronimo.tomcat.valve.DefaultSubjectValve.invoke
(DefaultSubjectValve.java:56)
at org.apache.geronimo.tomcat.GeronimoStandardContext
$SystemMethodValve.invoke(GeronimoStandardContext.java:342)
at
org.apache.geronimo.tomcat.valve.GeronimoBeforeAfterValve.invoke
(GeronimoBeforeAfterValve.java:31)
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.valves.AccessLogValve.invoke
(AccessLogValve.java:541)
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:
667)
at
org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket
(PoolTcpEndpoint.java:527)
at
org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt
(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool
$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
Kamal,
You'll need to use ServletException.getRootCause() to get to the
underlying error.
--kevan