title: Jodconverter exception: failed to start and connect in windows
body: <p>Why I get the following exception..</p>
  
  <p>I stuck with this issue with several days..</p>
  
  <p>Please help me.. </p>
  
  <pre><code>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
  </code></pre>
  
  <p>MY code is</p>
  
  <pre><code>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();    
          }
      }  
  </code></pre>
  
  <p>And in my pom.xml</p>
  
  <pre><code>&lt;dependency&gt;
  
          &lt;groupId&gt;org.artofsolving.jodconverter&lt;/groupId&gt;
  
          &lt;artifactId&gt;jodconverter-core&lt;/artifactId&gt;
  
          &lt;version&gt;3.0-beta-3&lt;/version&gt;
  
  &lt;/dependency&gt;
  </code></pre>
  
  <p>Earlier my code was</p>
  
  <pre><code>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();
          }  
      }  
  </code></pre>
  
  <p>And in pom.xml</p>
  
  <pre><code>&lt;dependency&gt;
  
      &lt;groupId&gt;com.artofsolving&lt;/groupId&gt;
  
      &lt;artifactId&gt;jodconverter&lt;/artifactId&gt;
  
      &lt;version&gt;2.2.2&lt;/version&gt;           
  
  &lt;/dependency&gt;
  </code></pre>