Skip to Main Content

Java EE (Java Enterprise Edition) General Discussion

Announcement

For appeals, questions and feedback about Oracle Forums, please email oracle-forums-moderators_us@oracle.com. Technical questions should be asked in the appropriate category. Thank you!

Servlet exception caught: Status 500 Dispatch to method returned exception

843838Jan 15 2007 — edited Jan 16 2007
Hi,

I am adding a jasper report to my existing web application running on top of struts 1.0.x. I managed to compile and view my report by using ireport 0.5.1. When I wrote some code to load-compile-fill-export to pdf, I encounter the following error. Can anyone help me to tell me what is going wrong?

Btw, I am using struts framework whereby the request is received and processed by the ActionForm. And from there, i pass it to a self written DAO to generate the report.

Here are the code snippet,

Inside action class
===============
public ActionForward monthlybyvenue(ActionMapping mapping,
ActionForm form,
HttpServletRequest request,
HttpServletResponse response) throws Exception {

ReportingForm rptfrm = (ReportingForm) form;
ReportDAO rptDAO = new ReportDAO();
DateUtils dutil = new DateUtils();

String searchmonthfrm = rptfrm.getSearchmonthfrm();
String searchyearfrm =rptfrm.getSearchyearfrm();

String searchmonthto = rptfrm.getSearchmonthfrm();
String searchyearto = rptfrm.getSearchyearto();

int lastDayOfMonth = dutil.getMaxDayOfMonth(Integer.parseInt(searchyearto),dutil.getIntMonth(searchmonthto));
String periodFrom = "01/" + convertMonth(String.valueOf(dutil.getIntMonth(searchmonthfrm))) + "/" + searchyearfrm;
String periodTo = lastDayOfMonth + "/" + convertMonth(String.valueOf(dutil.getIntMonth(searchmonthto))) + "/" + searchyearto;

String jasperXmlFile = request.getRealPath("/WEB-INF/classes/my/com/cni/mrbs/report/template/jrxml/monthlyRoomBookingByVenue.jrxml");
String pdfFile = request.getRealPath("/WEB-INF/classes/my/com/cni/mrbs/report/monthlyRoomBookingByVenue.pdf");

rptDAO.genPdfReport(periodFrom, periodTo, jasperXmlFile, pdfFile);

return mapping.findForward("monthlybyvenue");

}

Inside DAO class
==============
public void genPdfReport (String periodFrom, String periodTo, String designFile, String pdfFile) throws Exception{
Connection conn = null;

try {
boolean hasConnection = chkConnection();
if(!hasConnection)
conn = getConnection();
else
conn = this.globalConn;

JasperDesign jasperDesign = JRXmlLoader.load(designFile);
JasperReport jasperReport = JasperCompileManager.compileReport(jasperDesign);
Map parameters = new HashMap();
parameters.put("date_from", Helper.str2date(periodFrom));
parameters.put("date_to", Helper.str2date(periodTo));
JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport, parameters, conn);
JasperExportManager.exportReportToPdfFile(jasperPrint, pdfFile);

chkReturnConn(conn);
}catch (Exception e) {
e.printStackTrace();
throw e;

}
}


Here are the error stack,

Jan 15, 2007 7:58:41 PM org.apache.struts.actions.DispatchAction dispatchMethod
SEVERE: Dispatch[report] to method monthlybyvenue returned an exception
java.lang.reflect.InvocationTargetException
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.apache.struts.actions.DispatchAction.dispatchMethod(DispatchAction.java:280)
at my.com.cni.mrbs.base.BaseAction.execute(BaseAction.java:72)
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:760)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:247)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:193)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:256)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2415)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:180)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.java:171)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:172)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:641)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:174)
at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invokeNext(StandardPipeline.java:643)
at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:480)
at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:594)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:392)
at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:565)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:619)
at java.lang.Thread.run(Thread.java:595)
Caused by: java.lang.NoClassDefFoundError: org/apache/commons/digester/SetNestedPropertiesRule
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:200)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:165)
at net.sf.jasperreports.engine.xml.JRXmlLoader.load(JRXmlLoader.java:149)
at my.com.cni.mrbs.dao.ReportDAO.genPdfReport(ReportDAO.java:55)
at my.com.cni.mrbs.report.action.ReportingAction.monthlybyvenue(ReportingAction.java:135)
... 41 more
Comments
Locked Post
New comments cannot be posted to this locked post.
Post Details
Locked on Feb 13 2007
Added on Jan 15 2007
3 comments
1,819 views