I'm trying to read an xlsx file with Apache Poi. Program works but when I tr

I'm trying to read an xlsx file with Apache Poi. Program works but when I try to put it in a smart service, I get an error java.lang.reflect.InvocationTargetException

after line XSSFWorkbook
File file = new File(fileName);
OPCPackage opcPackage = OPCPackage.open(file);
XSSFWorkbook myWorkbook = new XSSFWorkbook(opcPackage);

I wonder if the error would come from user's rights as the error seems to be at createDocumentPart. I'm using Appain 7 on Windows server 2008. With which account does run a smart service ? Where is it's temp folder ?

Thanks,

Olivier

ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=536883553, classname=com.solypse.etde.SolImportExcel
org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
          at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
          at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPa...

OriginalPostID-58453

OriginalPostID-58453

  Discussion posts and replies are publicly visible

Parents
  • Hi Peter,

    That's kind of you to try to help me. I have been struggling with that for all day now.
    I tried your solution but this generates other errors. I don't understand as this soft works when it's outside Appian.

    I declared thos jar

    dom4j-1.6.1.jar
    lingpipe-4.1.0.jar
    mysql-connector-java-5.1.22-bin.jar
    poi-3.9-20121203.jar
    poi-excelant-3.9-20121203.jar
    poi-ooxml-3.9-20121203.jar
    poi-ooxml-schemas-3.9-20121203.jar
    stax-api-1.0.1.jar
    xmlbeans-2.3.0.jar

    And my test code is as follow :

    fileName="C:\\\\1_Solypse\\\          est.xlsx";
                        File file = new File(fileName);
                        log("fichier " + fileName );
                        OPCPackage opcPackage;
                        try {
                                  opcPackage = OPCPackage.open(file);
                                  log("excel 1 ");
                                  Workbook myWorkbook = WorkbookFactory.create(opcPackage);
    //                              XSSFWorkbook myWorkbook = new XSSFWorkbook(opcPackage);
                                  log("excel 2 ");
                                  XSSFSheet mySheet = (XSSFSheet) myWorkbook.getSheetAt(0);
                                  log("excel 3 ");

    With your solution or mine, problems occurs each time after log("excel 1")

    2013-02-19 20:00:08,306 [WorkManager(2)-2] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=536883678, classname=com.solypse.etde.SolImportExcel
    org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
              at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
              at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)
              at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)
              at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:186)
              at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:55)
              at com.solypse.etde.SolImportExcel.ReadFile(SolImportExcel.java:164)
              at com.solypse.etde.SolImportExcel.run(SolImportExcel.java:75)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:100)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:97)
              at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:25)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:97)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:91)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:61)
              at com.appiancorp.mdb.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:17)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
              at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
              at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
              at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
              at sun.reflect.GeneratedMethodAccessor1118.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
              at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
              at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_859840937.invoke(InvocationContextInterceptor_z_fillMet
Reply
  • Hi Peter,

    That's kind of you to try to help me. I have been struggling with that for all day now.
    I tried your solution but this generates other errors. I don't understand as this soft works when it's outside Appian.

    I declared thos jar

    dom4j-1.6.1.jar
    lingpipe-4.1.0.jar
    mysql-connector-java-5.1.22-bin.jar
    poi-3.9-20121203.jar
    poi-excelant-3.9-20121203.jar
    poi-ooxml-3.9-20121203.jar
    poi-ooxml-schemas-3.9-20121203.jar
    stax-api-1.0.1.jar
    xmlbeans-2.3.0.jar

    And my test code is as follow :

    fileName="C:\\\\1_Solypse\\\          est.xlsx";
                        File file = new File(fileName);
                        log("fichier " + fileName );
                        OPCPackage opcPackage;
                        try {
                                  opcPackage = OPCPackage.open(file);
                                  log("excel 1 ");
                                  Workbook myWorkbook = WorkbookFactory.create(opcPackage);
    //                              XSSFWorkbook myWorkbook = new XSSFWorkbook(opcPackage);
                                  log("excel 2 ");
                                  XSSFSheet mySheet = (XSSFSheet) myWorkbook.getSheetAt(0);
                                  log("excel 3 ");

    With your solution or mine, problems occurs each time after log("excel 1")

    2013-02-19 20:00:08,306 [WorkManager(2)-2] ERROR com.appiancorp.process.engine.UnattendedJavaActivityRequest - An error occurred while executing activity: id=536883678, classname=com.solypse.etde.SolImportExcel
    org.apache.poi.POIXMLException: java.lang.reflect.InvocationTargetException
              at org.apache.poi.xssf.usermodel.XSSFFactory.createDocumentPart(XSSFFactory.java:62)
              at org.apache.poi.POIXMLDocumentPart.read(POIXMLDocumentPart.java:403)
              at org.apache.poi.POIXMLDocument.load(POIXMLDocument.java:155)
              at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:186)
              at org.apache.poi.ss.usermodel.WorkbookFactory.create(WorkbookFactory.java:55)
              at com.solypse.etde.SolImportExcel.ReadFile(SolImportExcel.java:164)
              at com.solypse.etde.SolImportExcel.run(SolImportExcel.java:75)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:100)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:97)
              at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:25)
              at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:97)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:91)
              at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:61)
              at com.appiancorp.mdb.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:17)
              at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
              at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeTarget(MethodInvocation.java:122)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:111)
              at org.jboss.ejb3.EJBContainerInvocationWrapper.invokeNext(EJBContainerInvocationWrapper.java:69)
              at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.invoke(InterceptorSequencer.java:73)
              at org.jboss.ejb3.interceptors.aop.InterceptorSequencer.aroundInvoke(InterceptorSequencer.java:59)
              at sun.reflect.GeneratedMethodAccessor1118.invoke(Unknown Source)
              at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
              at java.lang.reflect.Method.invoke(Method.java:597)
              at org.jboss.aop.advice.PerJoinpointAdvice.invoke(PerJoinpointAdvice.java:174)
              at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)
              at org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor.fillMethod(InvocationContextInterceptor.java:72)
              at org.jboss.aop.advice.org.jboss.ejb3.interceptors.aop.InvocationContextInterceptor_z_fillMethod_859840937.invoke(InvocationContextInterceptor_z_fillMet
Children
No Data