Jump to content
We've recently updated our Privacy Statement, available here ×

Getting exception when calling WSClient.runReport


rajajasper

Recommended Posts

HI All,

I am getting exception when calling WSClient.runReport(rd,parameters). My code is given below and exception is.


   and exception is also given in attachment error.txt

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

 

Exception is like this:

DEBUG 2009-08-12 11:09:13,487 mcir.event.ReportHandler (callJasperReportforSiteCertificationExpiratingListWebService:1617)  -  Before JasperPrint in ReportHandler com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.ResourceDescriptor@18eec02

DEBUG 2009-08-12 11:09:13,487 mcir.event.ReportHandler (callJasperReportforSiteCertificationExpiratingListWebService:1618)  -  WSClient found in ReportHandler gov.mi.mdch.mcir.event.WSClient@2895da

DEBUG 2009-08-12 11:09:13,487 mcir.event.ReportHandler (callJasperReportforSiteCertificationExpiratingListWebService:1619)  -  parameters found in ReportHandler {Region=1}

DEBUG 2009-08-12 11:09:13,488 mcir.event.ReportHandler (callJasperReportforSiteCertificationExpiratingListWebService:1620)  -  WSClient getWebservicesUri found in ReportHandler http://127.0.0.1:8080/jasperserver/services/repository

09/08/12 11:09:13  Came to runReport

09/08/12 11:09:13  After adding arguments

09/08/12 11:09:13  in second runreport

09/08/12 11:09:13  after setup new descriptor /Reports/Samples/SiteCertificationExpiringListingReport

09/08/12 11:09:13  After iteraror

09/08/12 11:09:13  After adding all req com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.Request@166567e

09/08/12 11:09:13  After adding all arguments [com.jaspersoft.jasperserver.api.metadata.xml.domain.impl.Argument@1b889b0]

DEBUG 2009-08-12 11:09:13,579 apache.axis.AxisEngine (init:165)  - Enter: AxisEngine::init

DEBUG 2009-08-12 11:09:13,595 apache.axis.ConfigurationException (logException:110)  - Exception:

java.lang.NullPointerException: name

    at java.util.zip.ZipFile.getEntry(ZipFile.java:247)

    at java.util.jar.JarFile.getEntry(JarFile.java:204)

    at java.util.jar.JarFile.getJarEntry(JarFile.java:187)

    at sun.misc.URLClassPath$JarLoader.getResource(URLClassPath.java:674)

    at sun.misc.URLClassPath.getResource(URLClassPath.java:161)

    at sun.misc.URLClassPath.getResource(URLClassPath.java:213)

    at java.lang.ClassLoader.getBootstrapResource(ClassLoader.java:1113)

    at java.lang.ClassLoader.getResource(ClassLoader.java:974)

    at oracle.classloader.PolicyClassLoader.findJREResource(PolicyClassLoader.java:1168)

    at oracle.classloader.JVMSearchPolicy.findResource(JVMSearchPolicy.java:36)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.askParentForResource(PolicyClassLoader.java:1339)

    at oracle.classloader.SearchPolicy$AskParent.findResource(SearchPolicy.java:74)

    at oracle.classloader.SearchSequence.findResource(SearchSequence.java:142)

    at oracle.classloader.PolicyClassLoader.getResourceUsingPolicy(PolicyClassLoader.java:1424)

    at oracle.classloader.PolicyClassLoader.getResource(PolicyClassLoader.java:1713)

    at java.lang.ClassLoader.getResourceAsStream(ClassLoader.java:1159)

    at org.apache.axis.utils.ClassUtils.getResourceAsStream(ClassUtils.java:227)

    at org.apache.axis.configuration.FileProvider.configureEngine(FileProvider.java:170)

    at org.apache.axis.AxisEngine.init(AxisEngine.java:172)

    at org.apache.axis.AxisEngine.<init>(AxisEngine.java:156)

    at org.apache.axis.client.AxisClient.<init>(AxisClient.java:52)

    at org.apache.axis.client.Service.getAxisClient(Service.java:104)

    at org.apache.axis.client.Service.<init>(Service.java:144)

    at com.jaspersoft.ireport.jasperserver.ws.ManagementServiceServiceLocator.<init>(ManagementServiceServiceLocator.java:41)

    at gov.mi.mdch.mcir.event.WSClient.getManagementService(WSClient.java:700)

    at gov.mi.mdch.mcir.event.WSClient.runReport(WSClient.java:411)

    at gov.mi.mdch.mcir.event.WSClient.runReport(WSClient.java:329)

    at gov.mi.mdch.mcir.event.ReportHandler.callJasperReportforSiteCertificationExpiratingListWebService(ReportHandler.java:1621)

    at gov.mi.mdch.mcir.event.ReportHandler.process(ReportHandler.java:1104)

    at gov.mi.mdch.mcir.event.Controller.doPost(Controller.java:125)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)

    at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)

    at com.evermind.server.http.ResourceFilterChain.doFilter(ResourceFilterChain.java:65)

    at gov.mi.mdch.mcir.event.filter.ValidationFilter.doFilter(ValidationFilter.java:192)

    at com.evermind.server.http.EvermindFilterChain.doFilter(EvermindFilterChain.java:15)

    at org.apache.wicket.protocol.http.servlet.WicketSessionFilter.doFilter(WicketSessionFilter.java:193)

    at com.evermind.server.http.ServletRequestDispatcher.invoke(ServletRequestDispatcher.java:621)

    at com.evermind.server.http.ServletRequestDispatcher.forwardInternal(ServletRequestDispatcher.java:370)

    at com.evermind.server.http.HttpRequestHandler.doProcessRequest(HttpRequestHandler.java:871)

    at com.evermind.server.http.HttpRequestHandler.processRequest(HttpRequestHandler.java:453)

    at com.evermind.server.http.HttpRequestHandler.serveOneRequest(HttpRequestHandler.java:221)

    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:122)

    at com.evermind.server.http.HttpRequestHandler.run(HttpRequestHandler.java:111)

    at oracle.oc4j.network.ServerSocketReadHandler$SafeRunnable.run(ServerSocketReadHandler.java:260)

    at com.evermind.util.ReleasableResourcePooledExecutor$MyWorker.run(ReleasableResourcePooledExecutor.java:303)

    at java.lang.Thread.run(Thread.java:595)

DEBUG 2009-08-12 11:09:13,603 axis.i18n.ProjectResourceBundle (getBundle:264)  - getBundle(org.apache.axis,org.apache.axis.i18n,resource,null,...)

DEBUG 2009-08-12 11:09:13,635 axis.i18n.ProjectResourceBundle (loadBundle:423)  - loadBundle: Ignoring MissingResourceException: Can't find bundle for base name org.apache.axis.resource, locale en_US

DEBUG 2009-08-12 11:09:13,635 axis.i18n.ProjectResourceBundle (getBundle:318)  - Created org.apache.axis.i18n.resource, linked to parent null

DEBUG 2009-08-12 11:09:13,637 axis.i18n.ProjectResourceBundle (getBundle:264)  - getBundle(org.apache.axis,org.apache.axis.utils,resource,null,...)

DEBUG 2009-08-12 11:09:13,641 axis.i18n.ProjectResourceBundle (loadBundle:423)  - loadBundle: Ignoring MissingResourceException: Can't find bundle for base name org.apache.axis.utils.resource, locale en_US

DEBUG 2009-08-12 11:09:13,642 axis.i18n.ProjectResourceBundle (loadBundle:423)  - loadBundle: Ignoring MissingResourceException: Can't find bundle for base name org.apache.axis.resource, locale en_US

DEBUG 2009-08-12 11:09:13,642 axis.i18n.ProjectResourceBundle (getBundle:328)  - Root package not found, cross link to org.apache.axis.i18n.resource

DEBUG 2009-08-12 11:09:13,642 axis.i18n.ProjectResourceBundle (getBundle:328)  - Root package not found, cross link to org.apache.axis.i18n.resource

DEBUG 2009-08-12 11:09:13,643 axis.i18n.ProjectResourceBundle (handleGetObject:72)  - org.apache.axis.i18n.resource::handleGetObject(exception00)

FATAL 2009-08-12 11:09:13,643 apache.axis.InternalException (<init>:88)  - Exception:

org.apache.axis.ConfigurationException: java.lang.NullPointerException: name
java.lang.NullPointerException: name

 

 Can anyone please help where doing wrong. Its please urgent. Thanks for your help in advance.

 

Thanks,

rajaJasper.

 

Code:
My code is like this.        WSClient ws = new WSClient();        JServer jServer = new JServer();        jServer.setUsername("jasperadmin");        jServer.setPassword("jasperadmin");        jServer.setUrl("http://localhost:8080/jasperserver");        ws.setServer(jServer);        java.util.Map parameters=new java.util.HashMap();        parameters.put("Region","1");                      JasperPrint print=null;        net.sf.jasperreports.engine.JRExporter exporter=null;        try{            ResourceDescriptor rd = new ResourceDescriptor();            //rd.setConnectionUrl("http://localhost:8080/jasperserver");            //rd.setUsername("jasperadmin");            //rd.setPassword("jasperadmin");            rd.setUriString("/Reports/Samples/SiteCertificationExpiringListingReport");            logger.debug(" Before JasperPrint in ReportHandler "+rd.toString());            logger.debug(" WSClient foind in ReportHandler "+ws);            logger.debug(" parameters foind in ReportHandler "+parameters);            logger.debug(" WSClient getWebservicesUri foind in ReportHandler "+ws.getWebservicesUri());            print = ws.runReport(rd, parameters );         //print = wsClient.runReport(server1.getUrl(), parameters );         logger.debug(" After JasperPrint in ReportHandler "+print);                } catch (NullPointerException e) {            logger.error("***** NullPointerException *****"+e.getMessage());            // TODO Auto-generated catch block            e.printStackTrace();        } catch (Exception e) {            logger.error("***** Exception *****"+e.getMessage());            // TODO Auto-generated catch block            e.printStackTrace();        }                  try{          logger.debug(" After JRExporter in ReportHandler ");          response.setContentType("application/pdf");                   exporter = new  net.sf.jasperreports.engine.export.JRPdfExporter();                 logger.debug(" After JRPdfExporter in ReportHandler ");          os = response.getOutputStream();          logger.debug(" After getOutputStream in ReportHandler ");          exporter.setParameter(JRExporterParameter.OUTPUT_STREAM,os);          logger.debug(" After setParameter 11111111 in ReportHandler ");          exporter.setParameter(JRExporterParameter.JASPER_PRINT,print);          logger.debug(" After setParameter 22222222 in ReportHandler ");          exporter.exportReport();          logger.debug(" After export report successfully ");                } catch (IOException e) {             logger.error("***** IOException *****");                // TODO Auto-generated catch block                e.printStackTrace();                   } catch (JRException e) {            logger.error("***** JRException *****");                // TODO Auto-generated catch block                e.printStackTrace();            }--------------------------------------------------------------------------------------------------------------------    public static final String AXIS_CONFIGURATION_RESOURCE = "/com/jaspersoft/jasperserver/irplugin/wsclient/client-config.wsdd";       private JServer server = null;       private String webservicesUri = "http://127.0.0.1:8080/jasperserver/services/repository"; // "http://127.0.0.1:8080/axis2/services/repository-ws-1.0";       private ManagementService managementService = null;       private Unmarshaller unmarshaller = new Unmarshaller();    private Marshaller marshaller = new Marshaller();       private String cachedServerVersion;   public JasperPrint runReport(ResourceDescriptor descriptor, java.util.Map parameters) throws Exception {        System.out.println(" Came to runReport");        List args = new ArrayList(1);        args.add(new Argument(Argument.RUN_OUTPUT_FORMAT, Argument.RUN_OUTPUT_FORMAT_JRPRINT));        System.out.println(" After adding arguments");        Map attachments = runReport(descriptor, parameters, args);        System.out.println(" Successfully finished second runReport Method "+attachments);        FileContent content = null;        if (attachments != null && !attachments.isEmpty()) {                   content = (FileContent)(attachments.values().toArray()[0]);            //attachments.get("jasperPrint");               }        if (content == null) {            throw new Exception("No JasperPrint");        }        InputStream is = new ByteArrayInputStream(content.getData());               JasperPrint print = (JasperPrint) JRLoader.loadObject(is);        return print;    }       /**     * This method run a report. The return is an OperationResult.     * If the result is succesfull, the message contains a set of strings     * (one for each row) with the list of files attached complete of the     * relative path. I.e.     *     * main_report.html     * images/logo1.jpg     * images/chartxyz.jpg     *     * Arguments:     *     *     *     * The request must contains the descriptor of the report to execute     * (only the URI is used).     * Arguments can be attached to the descriptor as childs. Each argument     * is a ListItem, with the parameter name as Name and the object     * rapresenting the value as Value.     *     * Operation result Codes:     * 0 - Success     * 1 - Generic error     *      */    public Map runReport(ResourceDescriptor descriptor, java.util.Map parameters, List args) throws Exception    {        try {            System.out.println(" in second runreport");            Request req = new Request();            req.setOperationName("runReport");            req.setLocale( getServer().getLocale() );            ResourceDescriptor newRUDescriptor = new ResourceDescriptor();            newRUDescriptor.setUriString(descriptor.getUriString() );            System.out.println(" after setup new descriptor "+descriptor.getUriString());            for (Iterator i= parameters.keySet().iterator(); i.hasNext() ;)            {                String key = ""+i.next();                Object value = parameters.get( key );                if (value instanceof java.util.Collection)                {                    Iterator cIter = ((Collection)value).iterator();                    while (cIter.hasNext())                    {                        String item = ""+cIter.next();                        ListItem l = new ListItem(key+"",item);                        l.setIsListItem(true);                        newRUDescriptor.getParameters().add( l );                    }                }                else                {                    newRUDescriptor.getParameters().add( new ListItem(key+"",parameters.get( key )));                }            }            System.out.println(" After iteraror ");            req.setResourceDescriptor( newRUDescriptor );            req.getArguments().addAll(args);            System.out.println(" After adding all req "+req.toString());            System.out.println(" After adding all arguments "+args.toString());                          String result = getManagementService().runReport( marshaller.marshal( req ) );            System.out.println(" marshaller 000000000 ");            OperationResult or = (OperationResult)unmarshaller.unmarshal(result);            System.out.println(" unmarshaller 000000000 ");            if (or.getReturnCode() != 0) throw new Exception( or.getReturnCode() + " - " + or.getMessage() );            System.out.println(" 11111111111 ");            Map results = new HashMap();                       Object[] resAtts = ((org.apache.axis.client.Stub)getManagementService()).getAttachments();            boolean attachFound = false;            for (int i=0; resAtts != null &&  i< resAtts.length; ++i)            {                attachFound = true;                DataHandler actualDH = (DataHandler)((org.apache.axis.attachments.AttachmentPart)resAtts[i]).getDataHandler();                String name = actualDH.getName(); //  ((org.apache.axis.attachments.AttachmentPart)resAtts[i]).getAttachmentFile();        String contentId = ((org.apache.axis.attachments.AttachmentPart)resAtts[i]).getContentId();        System.out.println(" 22222222222 ");        if (name == null) name = "attachment-" + i;        if (contentId == null) contentId = "attachment-" + i;                       InputStream is = actualDH.getInputStream();            ByteArrayOutputStream bos = new ByteArrayOutputStream();                               byte[] data = new byte[1000];            int bytesRead;                           while ((bytesRead = is.read(data)) != -1) {                bos.write(data, 0, bytesRead);            }            data = bos.toByteArray();                               String contentType = actualDH.getContentType();                               FileContent content = new FileContent();            content.setData(data);            content.setMimeType(contentType);            content.setName(name);            results.put(contentId, content);                         }       if (!attachFound)           {                throw new Exception("Attachment not present!");           }           return results;        } catch (Exception ex) {            ex.printStackTrace();            throw ex;        } finally {                   }            } 
Link to comment
Share on other sites

  • Replies 0
  • Created
  • Last Reply

Top Posters In This Topic

Popular Days

Top Posters In This Topic

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...