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

How can I resolve this error: java.lang.IllegalArgumentException: name


rpozsgai

Recommended Posts

My java code generates a Jasper PDF fine on my laptop, but when I put it on the customer server, I get this error.  I'm testing with the exact same data in both cases.

Here is the stack trace:

1/23/18 8:51 PM: Exception Thrown
Context Path: /webapps/test/webecm.nsf
Page Name: /Quote.xsp
Control id: link24
Property: onclick
Script interpreter error, line=10, col=5: Error calling method 'reportToFile(string)' on java class 'com.nhkseating.jasper.CreatePDF'
     8: //pdf.reportToFile(docnum,testing);
     9: print("calling reporttofile for "+docnum)
->  10: pdf.reportToFile(docnum);
    11:
    12: print("PDF complete, creating preview doc...")
javax.faces.FacesException: Error while executing JavaScript action expression
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:102)
    at com.sun.faces.lifecycle.LifecycleImpl.phase(LifecycleImpl.java:210)
    at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:96)
    at com.ibm.xsp.controller.FacesControllerImpl.execute(FacesControllerImpl.java:256)
    at com.ibm.xsp.webapp.FacesServlet.serviceView(FacesServlet.java:228)
    at com.ibm.xsp.webapp.FacesServletEx.serviceView(FacesServletEx.java:157)
    at com.ibm.xsp.webapp.FacesServlet.service(FacesServlet.java:160)
    at com.ibm.xsp.webapp.FacesServletEx.service(FacesServletEx.java:138)
    at com.ibm.xsp.webapp.DesignerFacesServlet.service(DesignerFacesServlet.java:103)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.invokeServlet(ComponentModule.java:576)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.invokeServlet(NSFComponentModule.java:1335)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$AdapterInvoker.invokeServlet(ComponentModule.java:853)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule$ServletInvoker.doService(ComponentModule.java:796)
    at com.ibm.designer.runtime.domino.adapter.ComponentModule.doService(ComponentModule.java:565)
    at com.ibm.domino.xsp.module.nsf.NSFComponentModule.doService(NSFComponentModule.java:1319)
    at com.ibm.domino.xsp.module.nsf.NSFService.doServiceInternal(NSFService.java:662)
    at com.ibm.domino.xsp.module.nsf.NSFService.doService(NSFService.java:482)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.doService(LCDEnvironment.java:357)
    at com.ibm.designer.runtime.domino.adapter.LCDEnvironment.service(LCDEnvironment.java:313)
    at com.ibm.domino.xsp.bridge.http.engine.XspCmdManager.service(XspCmdManager.java:272)
Caused by: com.ibm.xsp.exception.EvaluationExceptionEx: Error while executing JavaScript action expression
    at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:126)
    at com.ibm.xsp.actions.ExecuteScriptAction.invoke(ExecuteScriptAction.java:78)
    at com.ibm.xsp.actions.ActionGroup.invoke(ActionGroup.java:135)
    at com.ibm.xsp.application.ActionListenerImpl.processAction(ActionListenerImpl.java:60)
    at javax.faces.component.UICommand.broadcast(UICommand.java:324)
    at com.ibm.xsp.component.UIEventHandler.broadcast(UIEventHandler.java:366)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIDataPanelBase.broadcast(UIDataPanelBase.java:400)
    at com.ibm.xsp.component.UIViewRootEx.broadcast(UIViewRootEx.java:1535)
    at javax.faces.component.UIViewRoot.broadcastEvents(UIViewRoot.java:307)
    at javax.faces.component.UIViewRoot.processApplication(UIViewRoot.java:428)
    at com.sun.faces.lifecycle.InvokeApplicationPhase.execute(InvokeApplicationPhase.java:94)
    ... 19 more
Caused by: com.ibm.jscript.InterpretException: Script interpreter error, line=10, col=5: Error calling method 'reportToFile(string)' on java class 'com.nhkseating.jasper.CreatePDF'
    at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:334)
    at com.ibm.jscript.types.FBSObject.call(FBSObject.java:161)
    at com.ibm.jscript.ASTTree.ASTCall.interpret(ASTCall.java:197)
    at com.ibm.jscript.ASTTree.ASTProgram.interpret(ASTProgram.java:119)
    at com.ibm.jscript.ASTTree.ASTProgram.interpretEx(ASTProgram.java:139)
    at com.ibm.jscript.JSExpression._interpretExpression(JSExpression.java:435)
    at com.ibm.jscript.JSExpression.access$1(JSExpression.java:424)
    at com.ibm.jscript.JSExpression$2.run(JSExpression.java:414)
    at java.security.AccessController.doPrivileged(AccessController.java:362)
    at com.ibm.jscript.JSExpression.interpretExpression(JSExpression.java:410)
    at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:251)
    at com.ibm.jscript.JSExpression.evaluateValue(JSExpression.java:234)
    at com.ibm.xsp.javascript.JavaScriptInterpreter.interpret(JavaScriptInterpreter.java:222)
    at com.ibm.xsp.binding.javascript.JavaScriptMethodBinding.invoke(JavaScriptMethodBinding.java:111)
    ... 35 more
Caused by: java.lang.RuntimeException: error in CreatePDF:
    at com.nhkseating.jasper.CreatePDF.reportToFile(CreatePDF.java:100)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:60)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:37)
    at java.lang.reflect.Method.invoke(Method.java:611)
    at com.ibm.jscript.types.JavaAccessObject.call(JavaAccessObject.java:321)
    ... 48 more
Caused by: java.lang.IllegalArgumentException: name
    at sun.misc.URLClassPath$Loader.findResource(URLClassPath.java:689)
    at sun.misc.URLClassPath.findResource(URLClassPath.java:266)
    at java.net.URLClassLoader$4.run(URLClassLoader.java:763)
    at java.security.AccessController.doPrivileged(AccessController.java:298)
    at java.net.URLClassLoader.findResource(URLClassLoader.java:760)
    at com.ibm.domino.xsp.module.nsf.ModuleClassLoader$DynamicClassLoader.findResource(ModuleClassLoader.java:519)
    at java.lang.ClassLoader.getResource(ClassLoader.java:456)
    at com.ibm.domino.xsp.module.nsf.ModuleClassLoader.getResource(ModuleClassLoader.java:202)
    at net.sf.jasperreports.engine.util.JRResourcesUtil.findClassLoaderResource(JRResourcesUtil.java:569)
    at net.sf.jasperreports.repo.DefaultRepositoryService.getInputStream(DefaultRepositoryService.java:110)
    at net.sf.jasperreports.repo.InputStreamPersistenceService.load(InputStreamPersistenceService.java:47)
    at net.sf.jasperreports.repo.DefaultRepositoryService.getResource(DefaultRepositoryService.java:159)
    at net.sf.jasperreports.repo.RepositoryUtil.findInputStream(RepositoryUtil.java:190)
    at net.sf.jasperreports.repo.RepositoryUtil.getBytesFromLocation(RepositoryUtil.java:206)
    at net.sf.jasperreports.engine.RenderableUtil.getRenderable(RenderableUtil.java:122)
    at net.sf.jasperreports.engine.fill.JRFillImage.evaluateImage(JRFillImage.java:584)
    at net.sf.jasperreports.engine.fill.JRFillImage.evaluate(JRFillImage.java:520)
    at net.sf.jasperreports.engine.fill.JRFillElementContainer.evaluate(JRFillElementContainer.java:281)
    at net.sf.jasperreports.engine.fill.JRFillBand.evaluate(JRFillBand.java:504)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillBandNoOverflow(JRVerticalFiller.java:431)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillPageHeader(JRVerticalFiller.java:392)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReportStart(JRVerticalFiller.java:253)
    at net.sf.jasperreports.engine.fill.JRVerticalFiller.fillReport(JRVerticalFiller.java:119)
    at net.sf.jasperreports.engine.fill.JRBaseFiller.fill(JRBaseFiller.java:558)
    at net.sf.jasperreports.engine.fill.BaseReportFiller.fill(BaseReportFiller.java:414)
    at net.sf.jasperreports.engine.fill.JRFiller.fill(JRFiller.java:122)
    at net.sf.jasperreports.engine.JasperFillManager.fill(JasperFillManager.java:583)
    at net.sf.jasperreports.engine.JasperFillManager.fillReport(JasperFillManager.java:929)
    at com.nhkseating.jasper.CreatePDF.reportToFile(CreatePDF.java:78)
    ... 53 more


Here is my main code:

package com.nhkseating.jasper;

import java.io.Serializable;
import java.util.HashMap;
import java.util.Map;
import java.util.ArrayList;
import net.sf.jasperreports.engine.JasperExportManager;
import net.sf.jasperreports.engine.JasperFillManager;
import net.sf.jasperreports.engine.JasperPrint;
import net.sf.jasperreports.engine.data.JRBeanCollectionDataSource;

public class CreatePDF implements Serializable {
    private static final long serialVersionUID = 1L;
    
    public CreatePDF(){
        //for managed bean
    }
    
 //  public static void main(String[] args) throws JRException, IOException {
       public void reportToFile(String docnum) {
           
           try {
System.out.println("CreatePDF passing parameters to Jasper...");

                String jasperReport = "";
                String subReportItems = "";
                String subReportTools = "";
                String subReportNotes = "";
                String destReport = "";
    
                     jasperReport = "D://JReports/NHK_Quote_Java.jasper";
                    subReportItems = "D://JReports/NHK_Items_Java.jasper";
                    subReportTools = "D://JReports/NHK_Tools_Java.jasper";
                    subReportNotes = "D://JReports/NHK_Notes_Java.jasper";
                    destReport = "D://JReports/"+docnum+".pdf";
    
System.out.println("setting parameters");
       // Parameters for report, pass the file paths to the subreports as parameters on the main report
        Map<String, Object> parameters = new HashMap<String, Object>();
        parameters.put("SubReportItems", subReportItems);
        parameters.put("SubReportTools", subReportTools);
        parameters.put("SubReportNotes", subReportNotes);
 
       // DataSource
System.out.println("setting beancol datasrc");                
      DataBeanList DataBeanList = new DataBeanList();
      ArrayList<DataBean> dataList = DataBeanList.getDataBeanList(docnum);
      JRBeanCollectionDataSource beanColDataSource = new JRBeanCollectionDataSource(dataList);

System.out.println("calling jasperfillmgr");
       JasperPrint jasperPrint = JasperFillManager.fillReport(jasperReport,parameters,beanColDataSource);

 //System.out.println("calling exporttopdf");
       // Export to PDF.
        JasperExportManager.exportReportToPdfFile(jasperPrint,destReport);
    
  System.out.println("CreatePDF Complete");
   
            } catch (Exception e) {
                System.out.println("Error in CreatePDF: " + e);
                throw new RuntimeException("error in CreatePDF: ", e);
            }
            
   }
}

 

The server console shows where the error occurs, on the fillReport line:

[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: calling reporttofile for Q00039
[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: CreatePDF passing parameters to Jasper...
[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: setting parameters
[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: setting beancol datasrc
[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: calling jasperfillmgr
[0B04:000A-0F74] 01/23/2018 08:51:50 PM  HTTP JVM: Error in CreatePDF: java.lang.IllegalArgumentException: name


Can someone point me in the right direction as to what may be wrong here?  Remember, I can output this same document fine on my laptop, so I'm sure it isn't a 'bad data' issue.

Link to comment
Share on other sites

  • Replies 1
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

After serveral days with no response here, I again began scouring the web for any possible hints at a solution. I stumbled across this post

https://stackoverflow.com/questions/2746561/how-to-show-an-image-on-jasper-report

It led me to my problem because I had the company logo image hard coded in Jasper.

Problem solved.  I hope this post helps someone else.

Link to comment
Share on other sites

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...