Page 1 of 1

Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Fri Nov 27, 2015 7:22 am
by ethrbh
hello,

I have installed OpenKM-6.3.1 build 8235 on Windows Server 2012 R2. I also installed LibreOffice 5, what is working well anyway. I would "integrate" to this office tool just for able to use "preview" feature inside OpenKM.

For this I set the path of LibreOffice in OpenKM's general settings page
Code: Select all
INSERT INTO OKM_CONFIG (CFG_KEY, CFG_TYPE, CFG_VALUE) VALUES ('system.openoffice.path', 'string', 'C:\\Program Files (x86)\\LibreOffice 5\\program\\');
At OpenKM startp, when tomcat server is starting, I can see this in the catalina.log
Code: Select all
2015-11-27 07:53:04,563 [localhost-startStop-1] INFO  com.openkm.util.DocConverter- system.openoffice.tasks=200
2015-11-27 07:53:04,563 [localhost-startStop-1] INFO  com.openkm.util.DocConverter- system.openoffice.port=2002
2015-11-27 07:53:04,563 [localhost-startStop-1] WARN  com.openkm.servlet.RepositoryStartupServlet- invalid officeHome: it doesn't contain soffice.bin: C:\Program Files (x86)\LibreOffice 5\program
java.lang.IllegalStateException: invalid officeHome: it doesn't contain soffice.bin: C:\Program Files (x86)\LibreOffice 5\program
	at org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration.buildOfficeManager(DefaultOfficeManagerConfiguration.java:167)
	at com.openkm.util.DocConverter.getInstance(DocConverter.java:167)
	at com.openkm.servlet.RepositoryStartupServlet.start(RepositoryStartupServlet.java:279)
	at com.openkm.servlet.RepositoryStartupServlet.init(RepositoryStartupServlet.java:127)
	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1284)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1197)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1087)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5266)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5554)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
	at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:901)
	at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:877)
	at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:652)
	at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:1090)
	at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1900)
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
	at java.util.concurrent.FutureTask.run(FutureTask.java:262)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at java.lang.Thread.run(Thread.java:745)
This error comes when I try preview an MSWord doc or pure Plain/Text file.
Code: Select all
2015-11-27 07:57:17,943 [http-apr-0.0.0.0-8080-exec-4] ERROR com.openkm.servlet.frontend.ConverterServlet- Error in application/msword to PDF conversion
com.openkm.core.ConversionException: Error in application/msword to PDF conversion
	at com.openkm.util.DocConverter.doc2pdf(DocConverter.java:330)
	at com.openkm.servlet.frontend.ConverterServlet.toPDF(ConverterServlet.java:246)
	at com.openkm.servlet.frontend.ConverterServlet.toSWF(ConverterServlet.java:301)
	at com.openkm.servlet.frontend.ConverterServlet.service(ConverterServlet.java:145)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2476)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2465)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.artofsolving.jodconverter.OfficeDocumentConverter.convert(OfficeDocumentConverter.java:78)
	at org.artofsolving.jodconverter.OfficeDocumentConverter.convert(OfficeDocumentConverter.java:69)
	at com.openkm.util.DocConverter.convert(DocConverter.java:273)
	at com.openkm.util.DocConverter.doc2pdf(DocConverter.java:327)
	... 48 more
Code: Select all
2015-11-27 08:00:19,427 [http-apr-0.0.0.0-8080-exec-10] ERROR com.openkm.servlet.frontend.ConverterServlet- Error in text/plain to PDF conversion
com.openkm.core.ConversionException: Error in text/plain to PDF conversion
	at com.openkm.util.DocConverter.doc2pdf(DocConverter.java:330)
	at com.openkm.servlet.frontend.ConverterServlet.toPDF(ConverterServlet.java:246)
	at com.openkm.servlet.frontend.ConverterServlet.toSWF(ConverterServlet.java:301)
	at com.openkm.servlet.frontend.ConverterServlet.service(ConverterServlet.java:145)
	at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:311)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.invoke(FilterSecurityInterceptor.java:116)
	at org.springframework.security.web.access.intercept.FilterSecurityInterceptor.doFilter(FilterSecurityInterceptor.java:83)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.access.ExceptionTranslationFilter.doFilter(ExceptionTranslationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.session.SessionManagementFilter.doFilter(SessionManagementFilter.java:101)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AnonymousAuthenticationFilter.doFilter(AnonymousAuthenticationFilter.java:113)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.servletapi.SecurityContextHolderAwareRequestFilter.doFilter(SecurityContextHolderAwareRequestFilter.java:54)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.savedrequest.RequestCacheAwareFilter.doFilter(RequestCacheAwareFilter.java:45)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.authentication.AbstractAuthenticationProcessingFilter.doFilter(AbstractAuthenticationProcessingFilter.java:182)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.context.SecurityContextPersistenceFilter.doFilter(SecurityContextPersistenceFilter.java:87)
	at org.springframework.security.web.FilterChainProxy$VirtualFilterChain.doFilter(FilterChainProxy.java:323)
	at org.springframework.security.web.FilterChainProxy.doFilter(FilterChainProxy.java:173)
	at org.springframework.web.filter.DelegatingFilterProxy.invokeDelegate(DelegatingFilterProxy.java:346)
	at org.springframework.web.filter.DelegatingFilterProxy.doFilter(DelegatingFilterProxy.java:259)
	at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
	at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
	at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:220)
	at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
	at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
	at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:170)
	at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
	at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:950)
	at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
	at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:423)
	at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1079)
	at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:620)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2476)
	at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2465)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
	at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
	at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.NullPointerException
	at org.artofsolving.jodconverter.OfficeDocumentConverter.convert(OfficeDocumentConverter.java:78)
	at org.artofsolving.jodconverter.OfficeDocumentConverter.convert(OfficeDocumentConverter.java:69)
	at com.openkm.util.DocConverter.convert(DocConverter.java:273)
	at com.openkm.util.DocConverter.doc2pdf(DocConverter.java:327)
	... 48 more
I have made search in this forum and on the "whole internet", but I did not really find such solution what may help for me. As I saw same/similar problem has occurred in the past for other with both OpenOffice/LibreOffice in both Windows/Linux OS, but the suggestions described for those did not helped me at all, and that is why I try turn to you to get some help. I think I missed something wrong, or I have some wring setup somewhere.

The detailed information about the crash, ect can be seen in the attached files.

thanks for your help,
/Robi

Re: Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Sat Nov 28, 2015 10:52 am
by jllort
The error is clear, you have not configured the path of libreoffice or openoffice correctly. I have not checked version libreoffice 5 and I do not know if it's some issue related with that version, I suggest you install openoffice ( the error indicate is not finding soffice.bin into the path C:\Program Files (x86)\LibreOffice 5\program, could be some change between version 4 to version 5, I ignore it at this moment, my suggestion is go with openoffice ususally on windows goes betther rather libreoffice ).

Re: Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Sun Nov 29, 2015 8:31 am
by ethrbh
hello,

Thanks for your reply.

I have installed OpenOffice 4 on the windows server, as you have suggested, but I did not helped at all. The same error can be seen in the catalina.log when tomcat starts up, and same error window appears in the OpenKM page when I clicked on the preview button.

The error report in the log file is pretty easy to understand, but what else should I set in the OpenKM settings, except the path of OpenOffice? The OpenKM documentation -what I have chcecked- does not says anything else.

PLease see the error in the log file at startup:
Code: Select all
2015-11-28 21:04:22,168 [localhost-startStop-1] INFO  com.openkm.util.DocConverter- system.openoffice.port=2002
2015-11-28 21:04:22,183 [localhost-startStop-1] WARN  com.openkm.servlet.RepositoryStartupServlet- invalid officeHome: it doesn't contain soffice.bin: C:\Program Files (x86)\OpenOffice 4\program
java.lang.IllegalStateException: invalid officeHome: it doesn't contain soffice.bin: C:\Program Files (x86)\OpenOffice 4\program
	at org.artofsolving.jodconverter.office.DefaultOfficeManagerConfiguration.buildOfficeManager(DefaultOfficeManagerConfiguration.java:167)
	at com.openkm.util.DocConverter.getInstance(DocConverter.java:167)
	at com.openkm.servlet.RepositoryStartupServlet.start(RepositoryStartupServlet.java:279)
	at com.openkm.servlet.RepositoryStartupServlet.init(RepositoryStartupServlet.java:127)
	at javax.servlet.GenericServlet.init(GenericServlet.java:158)
And please also take a look at the attached pictures about OpenOffice files in the file system, and what is set in OpenKM settings for this.

Do I missed something? If so, what can that be?

thanks for your help,
/Robi

Re: Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Mon Nov 30, 2015 10:26 am
by jllort
Your path is not correct, should not include the /program folder !
Also consider, if you added sigar folder to your configuration path, take a look here http://wiki.openkm.com/index.php/Config ... ce_windows

Re: Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Mon Nov 30, 2015 1:01 pm
by ethrbh
hello,

I have an additional information regarding LibreOffice usage within OpenKM. As I have mentioned in the original post, I would use this instead of OpenOffice, but for same reason LibreOffice won't work.

Now I found the solution. This link https://code.google.com/p/jodconverter/ ... ail?id=103 describes the same/similar problem what I have. Here the solution was to make the basis-link file under "c:\Program Files (x86)\LibreOffice 5\program\" path, than restart tomcat process. I did this, and it works.

So I could use LibreOffice togather OpenKM for preview.

Hopefully this can help for others, who has similar problem.

br,
/Robi

Re: Java ConversionException when doing MSWord/Plaintext preview

PostPosted:Mon Nov 30, 2015 2:00 pm
by ethrbh
hello,

Yes, your last reply was helped me lot. I removed "program" in the path of OpenOffice, and set the enviromnent variable for sigar, and finally the preview works as is should.

thanks for your help,
/Robi