Adwait Chitaley
asked on
Exception in Jasper Report while integrating of Jasper report with Struts
net.sf.jasperreports.engin e.JRExcept ion: Failed to parse the xml document
error in jasper report whille creating the jasper report using xml datasource .....
please help me out
or tell me how to retrive the xml file in my code ..
error in jasper report whille creating the jasper report using xml datasource .....
please help me out
or tell me how to retrive the xml file in my code ..
package net.ensode.jasperbook.struts;
import java.io.BufferedInputStream;
import java.io.File;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.ResultSet;
import java.sql.Statement;
import java.util.HashMap;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.xml.parsers.DocumentBuilderFactory;
import javax.xml.parsers.ParserConfigurationException;
import net.sf.jasperreports.engine.JasperCompileManager;
import net.sf.jasperreports.engine.JasperRunManager;
import net.sf.jasperreports.engine.data.JRXmlDataSource;
import org.apache.struts.action.Action;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.w3c.dom.Document;
import org.xml.sax.SAXException;
public class GenerateReportAction extends Action
{
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response)
throws Exception
{
Connection connection=null;
Statement statement=null;
ResultSet resultSet=null;
// ServletContext application=servlet.getServletContext();
// DataSource datasource = (DataSource) application.getAttribute(Globals.DATA_SOURCE_KEY);
// ConnectionPool.dsource=datasource;
ServletOutputStream servletOutputStream =response.getOutputStream();
response.setContentType("application/pdf");
try{
String query="select * from M55_USERS_NEW";
// connection=ConnectionPool.openConnection();
System.out.println("After load Driver========================");
// statement = connection.createStatement();
// resultSet = statement.executeQuery(query);
// JRResultSetDataSource resultSetDataSource = new JRResultSetDataSource(resultSet);
System.out.println("Compiling report...");
JasperCompileManager.compileReportToFile("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/RemoteReport.jrxml");
System.out.println("Compilation Succesfully----------------------->");
System.out.println("Filling report...");
InputStream reportStream=new FileInputStream("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperCompleteApplication/reports/RemoteReport.jasper");
System.out.println("ReportStream---------->>>>>>>>>>>>>>>>"+reportStream.toString());
System.out.println("Done!");
JRXmlDataSource xmlDataSource = new JRXmlDataSource("userxml", "/userData/M55_USERS_NEW");
System.out.println("After XMl xmlDataSource read------->");
JasperRunManager.runReportToPdfStream(reportStream,servletOutputStream, new HashMap(),xmlDataSource);
}catch(Exception e){
e.printStackTrace();
}
finally{
// resultSet.close();
// statement.close();
// ConnectionPool.closeConnection(connection);
servletOutputStream.flush();
servletOutputStream.close();
}
return mapping.getInputForward();
}
}
ASKER CERTIFIED SOLUTION
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
ASKER