0

Why I get the following exception..

I stuck with this issue with several days..

Please help me..

INFO: ProcessManager implementation is WindowsProcessManager

org.artofsolving.jodconverter.office.OfficeException: failed to start and connect

                at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:61)

                at org.artofsolving.jodconverter.office.PooledOfficeManager.start(PooledOfficeManager.java:102)

                at org.artofsolving.jodconverter.office.ProcessPoolOfficeManager.start(ProcessPoolOfficeManager.java:59)

                at com.hiringsteps.ats.util.service.impl.UtilService.convertWord2Pdf(UtilService.java:132)

                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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

                at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

                at $Proxy51.convertWord2Pdf(Unknown Source)

                at com.hiringsteps.ats.applicant.facade.impl.ApplicantFacade.convert2PdfNHighlight(ApplicantFacade.java:553)

                at com.hiringsteps.ats.applicant.facade.impl.ApplicantFacade.register(ApplicantFacade.java:433)

                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.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:318)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)

                at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:110)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

                at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:90)

                at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)

                at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)

                at $Proxy65.register(Unknown Source)

                at com.hiringsteps.ats.applicant.dwr.impl.ApplicantDwr.register(ApplicantDwr.java:107)

                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.directwebremoting.impl.ExecuteAjaxFilter.doFilter(ExecuteAjaxFilter.java:34)

                at org.directwebremoting.impl.DefaultRemoter$1.doFilter(DefaultRemoter.java:472)

                at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:475)

                at org.directwebremoting.impl.DefaultRemoter.execute(DefaultRemoter.java:323)

                at org.directwebremoting.servlet.PlainCallHandler.handle(PlainCallHandler.java:52)

                at org.directwebremoting.servlet.UrlProcessor.handle(UrlProcessor.java:101)

                at org.directwebremoting.spring.DwrController.handleRequestInternal(DwrController.java:256)

                at org.springframework.web.servlet.mvc.AbstractController.handleRequest(AbstractController.java:153)

                at org.springframework.web.servlet.mvc.SimpleControllerHandlerAdapter.handle(SimpleControllerHandlerAdapter.java:48)

                at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:923)

                at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:852)

                at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:882)

                at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:789)

                at javax.servlet.http.HttpServlet.service(HttpServlet.java:727)

                at javax.servlet.http.HttpServlet.service(HttpServlet.java:820)

                at org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:487)

                at org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:362)

                at org.mortbay.jetty.security.SecurityHandler.handle(SecurityHandler.java:216)

                at org.mortbay.jetty.servlet.SessionHandler.handle(SessionHandler.java:181)

                at org.mortbay.jetty.handler.ContextHandler.handle(ContextHandler.java:726)

                at org.mortbay.jetty.webapp.WebAppContext.handle(WebAppContext.java:405)

                at org.mortbay.jetty.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:206)

                at org.mortbay.jetty.handler.HandlerCollection.handle(HandlerCollection.java:114)

                at org.mortbay.jetty.handler.HandlerWrapper.handle(HandlerWrapper.java:152)

                at org.mortbay.jetty.Server.handle(Server.java:324)

                at org.mortbay.jetty.HttpConnection.handleRequest(HttpConnection.java:505)

                at org.mortbay.jetty.HttpConnection$RequestHandler.content(HttpConnection.java:842)

                at org.mortbay.jetty.HttpParser.parseNext(HttpParser.java:648)

                at org.mortbay.jetty.HttpParser.parseAvailable(HttpParser.java:211)

                at org.mortbay.jetty.HttpConnection.handle(HttpConnection.java:380)

                at org.mortbay.io.nio.SelectChannelEndPoint.run(SelectChannelEndPoint.java:395)

                at org.mortbay.thread.BoundedThreadPool$PoolThread.run(BoundedThreadPool.java:450)

Caused by: java.util.concurrent.ExecutionException: org.artofsolving.jodconverter.office.OfficeException: could not establish connection

                at java.util.concurrent.FutureTask$Sync.innerGet(FutureTask.java:222)

                at java.util.concurrent.FutureTask.get(FutureTask.java:83)

                at org.artofsolving.jodconverter.office.ManagedOfficeProcess.startAndWait(ManagedOfficeProcess.java:59)

                ... 68 more

MY code is

public  void convertWord2Pdf(String inputPath, String outputPath ) {    
        try {    
            File inputFile = new File(inputPath);

            File outputFile = new File(outputPath);

            OfficeManager officeManager = new DefaultOfficeManagerConfiguration().buildOfficeManager();

            officeManager.start(); // may tweak the start and stop code to appear elsewhere for additional efficiency

            DocumentFormat docFormat = new DocumentFormat("Portable Document Format", "pdf", "application/pdf");

            Map map = new HashMap();

            map.put("FilterName", "writer_pdf_Export");

            PropertyValue[] aFilterData = new PropertyValue[1];

            aFilterData[0] = new PropertyValue();

            aFilterData[0].Name = "SelectPdfVersion";

            aFilterData[0].Value = 1;

            map.put("FilterData", aFilterData);

            docFormat.setStoreProperties(DocumentFamily.TEXT, map);

            OfficeDocumentConverter docConverter = new OfficeDocumentConverter(officeManager);

            docConverter.convert(inputFile, outputFile, docFormat);

            officeManager.stop(); 

        } catch (Throwable e) {          

            e.printStackTrace();    
        }
    }  

And in my pom.xml

<dependency>

        <groupId>org.artofsolving.jodconverter</groupId>

        <artifactId>jodconverter-core</artifactId>

        <version>3.0-beta-3</version>

</dependency>

Earlier my code was

public  void convertWord2Pdf(String inputPath, String outputPath ) {  
        try {
            File inputFile = new File(inputPath);
            File outputFile = new File(outputPath);           

            OpenOfficeConnection connection = new SocketOpenOfficeConnection(8100);

            connection.connect();         

            DocumentConverter converter = new OpenOfficeDocumentConverter(connection);

            converter.convert(inputFile, outputFile);

            //close the connection

            connection.disconnect();
        }

        catch (Throwable e) { 
            e.printStackTrace();
        }  
    }  

And in pom.xml

<dependency>

    <groupId>com.artofsolving</groupId>

    <artifactId>jodconverter</artifactId>

    <version>2.2.2</version>           

</dependency>
skmaran.nr.iras
  • 8,152
  • 28
  • 81
  • 116
  • 1
    What OS are you using? Do you have open office installed? Do you have the soffice lib installed? It seems that the jodconverter cannot find the installation in order to connect? Is it really running on port 8100? – peshkira Oct 16 '12 at 08:47
  • I have no knowledge on technical side.. Open office 3 is installed. Win 7 is my OS. I didnot understand soffice and 8100. How will i know whether it running on 8100? – skmaran.nr.iras Oct 16 '12 at 08:54

1 Answers1

6

Your code looks ok, but it seems that the open office service is not running, so the JODConverter cannot connect to it, thus the exception (org.artofsolving.jodconverter.office.OfficeException: failed to start and connect). If it is running, probably the port is wrong.

You can take a look at your ports in use and try to figure out whether it is really operational or not.

From this source: http://www.artofsolving.com/node/10

JODConverter needs to connect to a running OpenOffice.org instance in order to perform the document conversions.

This is different from starting the OpenOffice.org program as you would normally do. OpenOffice.org can be configured to run as a service and listen for commands on a TCP port; there are a few ways to accomplish this but the simplest one is to start it from the command line with the following options:

You can start the service with:

soffice -headless -accept="socket,host=127.0.0.1,port=8100;urp;" -nofirststartwizard

For help under windows look at:

Community
  • 1
  • 1
peshkira
  • 6,069
  • 1
  • 33
  • 46