Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
?
Solved

Exception in Jasper Report while integrating of Jasper report with Struts

Posted on 2009-05-18
2
Medium Priority
?
1,674 Views
Last Modified: 2012-06-21
net.sf.jasperreports.engine.JRException: 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 ..


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();
    }
 
}

Open in new window

0
Comment
Question by:Adwait Chitaley
2 Comments
 
LVL 92

Accepted Solution

by:
objects earned 1500 total points
ID: 24416994
>         JRXmlDataSource xmlDataSource = new JRXmlDataSource("userxml", "/userData/M55_USERS_NEW");

need to pass it a file

        JRXmlDataSource xmlDataSource = new JRXmlDataSource(new File("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperCompleteApplication/reports/RemoteReport.jasper"), "/userData/M55_USERS_NEW");

0
 

Author Comment

by:Adwait Chitaley
ID: 24570668
i try this but not working
0

Featured Post

Receive 1:1 tech help

Solve your biggest tech problems alongside global tech experts with 1:1 help.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

INTRODUCTION Working with files is a moderately common task in Java.  For most projects hard coding the file names, using parameters in configuration files, or using command-line arguments is sufficient.   However, when your application has vi…
Java contains several comparison operators (e.g., <, <=, >, >=, ==, !=) that allow you to compare primitive values. However, these operators cannot be used to compare the contents of objects. Interface Comparable is used to allow objects of a cl…
Viewers learn about the “for” loop and how it works in Java. By comparing it to the while loop learned before, viewers can make the transition easily. You will learn about the formatting of the for loop as we write a program that prints even numbers…
Video by: Michael
Viewers learn about how to reduce the potential repetitiveness of coding in main by developing methods to perform specific tasks for their program. Additionally, objects are introduced for the purpose of learning how to call methods in Java. Define …
Suggested Courses
Course of the Month15 days, 3 hours left to enroll

577 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question