• Java ConversionException when doing MSWord/Plaintext preview

  • We tried to make OpenKM as intuitive as possible, but an advice is always welcome.
We tried to make OpenKM as intuitive as possible, but an advice is always welcome.
Forum rules: Please, before asking something see the documentation wiki or use the search feature of the forum. And remember we don't have a crystal ball or mental readers, so if you post about an issue tell us which OpenKM are you using and also the browser and operating system version. For more info read How to Report Bugs Effectively.
 #40953  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
Attachments
(45.43 KiB) Downloaded 176 times
 #40965  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 ).
 #40969  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
Attachments
openoffice.jpg
openoffice.jpg (352.2 KiB) Viewed 3035 times
okm_settings.jpg
okm_settings.jpg (296.21 KiB) Viewed 3035 times
 #40977  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

About Us

OpenKM is part of the management software. A management software is a program that facilitates the accomplishment of administrative tasks. OpenKM is a document management system that allows you to manage business content and workflow in a more efficient way. Document managers guarantee data protection by establishing information security for business content.