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

Reply via email to