2011-10-13/10:03:21.115/EDT [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)']: DONE Writing batch to DB 2011-10-13/10:03:21.130/EDT [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)'] ERROR [[ACTIVE] ExecuteThread: '4' for queue: 'weblogic.kernel.Default (self-tuning)']: java.io.FileNotFoundException: /tmp/poifiles/poi-ooxml-801119811.tmp (No such file or directory) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:179) at java.io.FileOutputStream.<init>(FileOutputStream.java:131) at org.apache.poi.util.PackageHelper.open(PackageHelper.java:49) at org.apache.poi.xssf.usermodel.XSSFWorkbook.<init>(XSSFWorkbook.java:176) at com.verizon.vsii.service.fileservice.FileSvchelper.processXLSXInputStream(FileSvchelper.java:1240) at com.verizon.vsii.service.fileservice.FileSvchelper.processBlob(FileSvchelper.java:349) at fileprocessor.FileSvc.processBlob(FileSvc.java:84) at sun.reflect.GeneratedMethodAccessor531.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:92) at weblogic.wsee.jaxws.WLSInstanceResolver$WLSInvoker.invoke(WLSInstanceResolver.java:74) at com.sun.xml.ws.server.InvokerTube$2.invoke(InvokerTube.java:151) at com.sun.xml.ws.server.sei.EndpointMethodHandlerImpl.invoke(EndpointMethodHandlerImpl.java:265) at com.sun.xml.ws.server.sei.SEIInvokerTube.processRequest(SEIInvokerTube.java:100) at com.sun.xml.ws.api.pipe.Fiber.__doRun(Fiber.java:604) at com.sun.xml.ws.api.pipe.Fiber._doRun(Fiber.java:563) at com.sun.xml.ws.api.pipe.Fiber.doRun(Fiber.java:548) at com.sun.xml.ws.api.pipe.Fiber.runSync(Fiber.java:445) at com.sun.xml.ws.server.WSEndpointImpl$2.process(WSEndpointImpl.java:373) at com.sun.xml.ws.transport.http.HttpAdapter$HttpToolkit.handle(HttpAdapter.java:524) at com.sun.xml.ws.transport.http.HttpAdapter.handle(HttpAdapter.java:255) at com.sun.xml.ws.transport.http.servlet.ServletAdapter.handle(ServletAdapter.java:140) at weblogic.wsee.jaxws.WLSServletAdapter.handle(WLSServletAdapter.java:208) at weblogic.wsee.jaxws.HttpServletAdapter$AuthorizedInvoke.run(HttpServletAdapter.java:310) at weblogic.wsee.jaxws.HttpServletAdapter.post(HttpServletAdapter.java:223) at weblogic.wsee.jaxws.JAXWSServlet.doPost(JAXWSServlet.java:124) at javax.servlet.http.HttpServlet.service(HttpServlet.java:727) at weblogic.wsee.jaxws.JAXWSServlet.service(JAXWSServlet.java:79) at javax.servlet.http.HttpServlet.service(HttpServlet.java:820) at weblogic.servlet.internal.StubSecurityHelper$ServletServiceAction.run(StubSecurityHelper.java:227) at weblogic.servlet.internal.StubSecurityHelper.invokeServlet(StubSecurityHelper.java:125) at weblogic.servlet.internal.ServletStubImpl.execute(ServletStubImpl.java:300) at weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:26) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at oracle.dms.wls.DMSServletFilter.doFilter(DMSServletFilter.java:330) at weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.java:56) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.doIt(WebAppServletContext.java:3684) at weblogic.servlet.internal.WebAppServletContext$ServletInvocationAction.run(WebAppServletContext.java:3650) at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:321) at weblogic.security.service.SecurityManager.runAs(SecurityManager.java:121) at weblogic.servlet.internal.WebAppServletContext.securedExecute(WebAppServletContext.java:2268) at weblogic.servlet.internal.WebAppServletContext.execute(WebAppServletContext.java:2174) at weblogic.servlet.internal.ServletRequestImpl.run(ServletRequestImpl.java:1446) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173)
It looks like you're passing in an InputStream, and something in your weblogic environment is preventing POI turning that into a temp file You should either pass a File directly to POI (rather than an InputStream), or fix the temp file handling in your weblogic setup
This happens in Linux environment(Production System). This error happens occasionally.pls provide us the solution to fix the problem.Pls provide your inputs on Code level changes, if possible. Note: We are working with windows platform(Development Environment).
This happens in Linux environment(Production System). This error happens occasionally.pls provide us the solution to fix the problem.Pls provide your inputs on Code level changes, if possible. Is it possible to replicate the same error in our development environment? And moreover , in Production Environment this error is happenning occasionally. Once we restart our application in production environment, then it is working fine. As per your earlier reply , 1)if weblogic server is prohibiting the POI API in creating the temp file, then it must prohibit everytime. But for us ,only on few occasion , we are getting this Exception. 2) We can not pass File object to XSSFWorkbook API . It accepts only InputStream Please provide us a solution solve this Production issue. Note: We are working with windows platform(Development Environment).
(In reply to comment #3) > 2) We can not pass File object to XSSFWorkbook API . It accepts only > InputStream It accepts an OPCPackage, which can be created from a File > Please provide us a solution solve this Production issue. You should probably talk to someone you have a support agreement with for your proprietary platform
Thank You Nick, we have created a OPCPackage object, passed that as an parameter to OpenorCreate method in XSSFWorkbook class, thus we have solved the issue. But we are not able to generate the exception again, so that is not yet tested.
Hi Nick, I came to know that "because of default System temp folder's(C:\DOCUME~1\v412393\LOCALS~1\Temp) privilages, the 2nd user is getting this exception" so I have changed the System property for java.io.tmpdir to a comman drive space (c:\temp). Can u pls suggest me in this.
(In reply to comment #6) > Hi Nick, > I came to know that "because of default System temp > folder's(C:\DOCUME~1\v412393\LOCALS~1\Temp) privilages, the 2nd user is getting > this exception(FILE NOT FOUND) in LINUX environment, so I have changed the System property for java.io.tmpdir to a > comman drive space (c:\temp). Can u pls suggest me in this.
That's is not a POI issue, that depends entirely on your Java setup
(In reply to comment #8) > That's is not a POI issue, that depends entirely on your Java setup Hi Nick, Thanks for reply. Can you please suggest me what are all the configurations which I have to cross check regarding the Java setup on my LINUX enviroment? In one of the blog I saw that POIFILES directory is created during run time under the tmp folder in LINUX.So is there anything to check on the folder path permission level settings? But as of now we are not getting any PERMISSION DENIED error. Waiting for your reply . Thanks.
Hi Sundar, This is no longer a POI question. It is a Java question. Take a look at http://rationalpi.wordpress.com/2007/01/26/javaiotmpdir-inconsitency/ Perhaps it will help. If not then please seek help elsewhere. Regards, Dave