Very frquently I am getting this exception when I click any link, if I re-login then i don't see error again. Here is the exception and I am also writing execute() of my DispatchAction class here. please advice me where is the error and how to solve this.
2005-05-05 19:10:48 StandardWrapperValve[ActionServlet]: Servlet.service() for
servlet ActionServlet threw exception
java.lang.NullPointerException
at com.mrll.struts.apex.framework.DispatchAction.execute(Unknown Source)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:446)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:266)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1292)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:510)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:284)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:204)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:257)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
at org.apache.catalina.core.StandardContextValve.invokeInternal(StandardContextValve.java:245)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:199)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:184)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:164)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:149)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:156)
at org.apache.catalina.core.StandardValveContext.invokeNext(StandardValveContext.java:151)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:567)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:972)
at org.apache.coyote.tomcat5.CoyoteAdapter.service(CoyoteAdapter.java:206)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:833)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:732)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:619)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:688)
at java.lang.Thread.run(Thread.java:534)
-----------------------
EXECUTE METHOD OF MY DISPATCH ACTION. public final ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request,
HttpServletResponse response)
throws IOException, ServletException {
Throwable throwable = null;
ActionForward actionForward = null;
try {
initialize(mapping, form, request, response);
Object[] parameters = new Object[] {mapping, form, request, response};
String methodName = mapping.getParameter();
if ((methodName == null) || methodName.equalsIgnoreCase("")) {
throw new NoSuchMethodException(methodName);
}
//As per the Merrill's request, we have added 'execute' keyword infront of the method name
//In struts-config, parameter attributes doesn't have 'execute' keyword
methodName = EXECUTE + methodName;
// Try to find a method on this object of the specified name
Method method = getClass().getMethod(methodName, PARAMETER_TYPES);
if (method == null) {
throw new NoSuchMethodException(methodName);
}
// Invoke the named method on the current object
actionForward = (ActionForward) method.invoke(this, parameters);
} catch (InvocationTargetException e) {
throwable = e.getTargetException();
actionForward.setName(ApexForwardMappings.FAILURE);
} catch (Exception e) {
throwable = e;
e.printStackTrace();
actionForward.setName(ApexForwardMappings.FAILURE);
} finally {
if (throwable != null) {
request.setAttribute(REQUEST_ATTRIBUTE_EXCEPTION, throwable);
}
cleanup(mapping, form, request, response, actionForward);
}
return mapping.findForward(actionForward.getName());
}
hello_nandu@yahoo.com