rajajasper Posted August 12, 2009 Share Posted August 12, 2009 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@18eec02DEBUG 2009-08-12 11:09:13,487 mcir.event.ReportHandler (callJasperReportforSiteCertificationExpiratingListWebService:1618) - WSClient found in ReportHandler gov.mi.mdch.mcir.event.WSClient@2895daDEBUG 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/repository09/08/12 11:09:13 Came to runReport09/08/12 11:09:13 After adding arguments09/08/12 11:09:13 in second runreport09/08/12 11:09:13 after setup new descriptor /Reports/Samples/SiteCertificationExpiringListingReport09/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@166567e09/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::initDEBUG 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_USDEBUG 2009-08-12 11:09:13,635 axis.i18n.ProjectResourceBundle (getBundle:318) - Created org.apache.axis.i18n.resource, linked to parent nullDEBUG 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_USDEBUG 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_USDEBUG 2009-08-12 11:09:13,642 axis.i18n.ProjectResourceBundle (getBundle:328) - Root package not found, cross link to org.apache.axis.i18n.resourceDEBUG 2009-08-12 11:09:13,642 axis.i18n.ProjectResourceBundle (getBundle:328) - Root package not found, cross link to org.apache.axis.i18n.resourceDEBUG 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: namejava.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 More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now