Solved

About the jasper report

Posted on 2009-05-18
3
331 Views
Last Modified: 2012-06-21
I m getting an exception in that line  when i connect the xml as a datasource
   JRXmlDataSource xmlDataSource = new JRXmlDataSource("xmlFile","/userData/M55_USERS_NEW");
And this two exception are also come with that program
1)net.sf.jasperreports.engine.JRException: Failed to parse the xml document
2) C:\Program Files\Apache Software Foundation\Apache Tomcat 6.0.18\bin\xmlFile (The system cannot find the file specified)

and how can i write the query also in java code to select data from xml file
please tell me some solution
package net.ensode.jasperbook.struts;

import java.io.BufferedInputStream;

import java.io.FileInputStream;

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 net.sf.jasperreports.engine.JRResultSetDataSource;

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;

 

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!");

 

        InputStream xmlFile=new FileInputStream("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml");

//         JRXmlDataSource xmlDataSource=new JRXmlDataSource(xmlFile,"/userData/M55_USERS_NEW");

       

         JRXmlDataSource xmlDataSource = new JRXmlDataSource("xmlFile","/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();

    }

}

 

and at the end i  am giving the xml code  also..

 

 

<userData>

<M55_USERS_NEW>

    <USER_ID >1</USER_ID >

    <USER_LOGIN >ashish</USER_LOGIN >

    <USER_FULL_NAME>ashish limje</USER_FULL_NAME >

    <USER_PASSWORD>ashish</USER_PASSWORD>

    <USER_ACTIVE_STATUS>1</USER_ACTIVE_STATUS>

</M55_USERS_NEW>

</userData>

Open in new window

0
Comment
Question by:achitaley
  • 2
3 Comments
 
LVL 92

Accepted Solution

by:
objects earned 500 total points
ID: 24410219
> JRXmlDataSource xmlDataSource = new JRXmlDataSource("xmlFile","/userData/M55_USERS_NEW");

try:

         JRXmlDataSource xmlDataSource = new JRXmlDataSource(new File("C:/Documents and Settings/ashish/My Documents/NetBeansProjects/StrutsJasperXml/reports/userxml.xml"),"/userData/M55_USERS_NEW");

0
 

Author Comment

by:achitaley
ID: 24570742
i tried this but not work
0
 

Author Closing Comment

by:achitaley
ID: 31582517
not a proper solution
0

Featured Post

How your wiki can always stay up-to-date

Quip doubles as a “living” wiki and a project management tool that evolves with your organization. As you finish projects in Quip, the work remains, easily accessible to all team members, new and old.
- Increase transparency
- Onboard new hires faster
- Access from mobile/offline

Join & Write a Comment

Suggested Solutions

Title # Comments Views Activity
Java 1603 Error 3 45
Updating Java 9 87
PDFBox - convert image to PDF, PDF resolution 3 70
groovy example issue 10 70
For customizing the look of your lightweight component and making it look opaque like it was made of plastic.  This tip assumes your component to be of rectangular shape and completely opaque.   (CODE)
For beginner Java programmers or at least those new to the Eclipse IDE, the following tutorial will show some (four) ways in which you can import your Java projects to your Eclipse workbench. Introduction While learning Java can be done with…
Viewers will learn about the different types of variables in Java and how to declare them. Decide the type of variable desired: Put the keyword corresponding to the type of variable in front of the variable name: Use the equal sign to assign a v…
Viewers will learn about the regular for loop in Java and how to use it. Definition: Break the for loop down into 3 parts: Syntax when using for loops: Example using a for loop:

747 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

Need Help in Real-Time?

Connect with top rated Experts

12 Experts available now in Live!

Get 1:1 Help Now