Expand my Community achievements bar.

Workbench Web Service call to CreatePDF issue

Avatar

Former Community Member

Hi all,

I am having some trouble making a web service call from a workbench process to CreatePDF running on a LiveCycle 8.2 Windows machine. I have successfully called the service in Java using the GeneratePdfServiceClient.createPDF2() method, so I think I have ruled out a config issue on the server. I would like to pass in a base64 word/powerpoint document and receive a base64 pdf in the response. Below is the request I am using currently:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://adobe.com/idp/services">
   <soapenv:Header/>
   <soapenv:Body>
      <ser:CreatePDF>
         <ser:inputDocument>
            <ser:contentType>application/msword</ser:contentType>
                   <ser:binaryData>**Binary data omitted****

                    </ser:binaryData>
             </ser:inputDocument>

         <ser:fileName>test.doc</ser:fileName>
      </ser:CreatePDF>
   </soapenv:Body>
</soapenv:Envelope>

This request returns the following error from the test harness in workbench:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
   <soapenv:Body>
      <soapenv:Fault>
         <faultcode>soapenv:Server.userException</faultcode>
         <faultstring>ALC-PDG-16004-000: com.adobe.livecycle.generatepdf.client.ConversionException: ALC-PDG-016-004-Error occurred during native application invocation.</faultstring>
         <detail>
            <faultData>
               <ns1:conversionLog xsi:nil="true" xmlns:ns1="http://adobe.com/idp/services"/>
               <ns2:error xmlns:ns2="http://adobe.com/idp/services">
                  <ns2:classLoader xsi:nil="true"/>
                  <ns2:errorCode>16004</ns2:errorCode>
                  <ns2:minorCode>0</ns2:minorCode>
                  <ns2:localizedMessage>ALC-PDG-016-004-Error occurred during native application invocation.</ns2:localizedMessage>
                  <ns2:componentUID>PDG</ns2:componentUID>
                  <ns2:message>ALC-PDG-016-004-Error occurred during native application invocation.</ns2:message>
               </ns2:error>
               <ns3:message xmlns:ns3="http://adobe.com/idp/services">ALC-PDG-016-004-Error occurred during native application invocation.</ns3:message>
               <ns4:errorCode xmlns:ns4="http://adobe.com/idp/services">16004</ns4:errorCode>
               <ns5:nestedThrowable xsi:nil="true" xmlns:ns5="http://adobe.com/idp/services"/>
            </faultData>
            <ns6:hostname xmlns:ns6="http://xml.apache.org/axis/">**hostname omitted***</ns6:hostname>
         </detail>
      </soapenv:Fault>
   </soapenv:Body>
</soapenv:Envelope>

The LiveCyle log shows the following:

0000023a GeneratePDFIm A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-000-Job ID for the submitted createPDF job =test.doc6d2013-ecd6b8-16418c-718145-9335dd-2adac1
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-024-test.doc: Time Job Submitted: 11/29/10 3:39 PM
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-021-test.doc: PDF Settings Used: pdfg Standard 15533
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-022-test.doc: Security Settings Used: No Security
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-023-test.doc: FileType Settings Used: Standard
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-017-test.doc: Job Submitted by User: pdfgtest
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-001-Begin processing job : ***path to***\native-in.doc
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
000000a7 WordToPDFConv W com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Acrobat add-in got diabled in MS Office applications . So cleaned entry of Resiliency subtree from registry successfully to re-activate the Acrobat add-in
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-The system cannot find the file specified.
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-001-Begin processing job : ***path to***\native-in.doc
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
000000a7 WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-The system cannot find the file specified.
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-028-test.doc: Job Completion Status: Failed
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-025-test.doc: Time Job Completed: 11/29/10 3:39 PM
0000023a BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-026-test.doc: Time of Job Execution: 9,328 ms
0000023a GeneratePDFIm E com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-000-ALC-PDG-016-004-Error occurred during native application invocation.

Ive checked the ***path to*** \native-in.doc and the file does exist there.

Does anyone have a sample request which has worked previously? I have tried including more elements in the request but none have been successful.

Any help would be appreciated.

7 Replies

Avatar

Level 8

Are you setting the blob=base64 switch in the service URL?

Avatar

Former Community Member

Hi Hodmi,

yes I'm using 'GeneratePDFService?blob=base64' in the service url

Avatar

Level 8

Strange.  The document is getting to the server (usually the 'hard' part), but for some reason the service can't locate it. It doesn't look like a permissions issue, but something seems to be keeping the service from finding the file.

Just for kicks, can you use the Admin tool service (Home > Services >LiveCycle PDF Generator ES2 > Create PDF) to try to convert the file saved in the temporary location?

Avatar

Former Community Member

I tried converting the file using the admin ui but it failed with a similar error trace (pasted below). Is the problem with the file format? Base64 encoding? As I cannot open the temporary file correctly in MS word either, it prompts for the user to select the correct encoding.

The admin ui converted a word file I created locally with the same contents (unencoded) without isssues.

Log for conversion attempt of temporary file through the admin ui:

0000004b GeneratePDFIm A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-000-
Job ID for the submitted createPDF job =native-in.***omitted***
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-024-native-in.doc: Time Job Submitted: 11/30/10 3:38 PM
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-021-native-in.doc: PDF Settings Used: pdfg Standard 29777
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-022-native-in.doc: Security Settings Used: No Security
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-023-native-in.doc: FileType Settings Used: Standard
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-017-native-in.doc: Job Submitted by User: ***omitted***
0000004e WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-001-Begin processing job : ***omitted***
\native-in.doc
0000004e WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
0000004e WordToPDFConv W com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Acrobat add-in got diabled in MS Office applications . So cleaned entry of Resiliency subtree from registry successfully to re-activate the Acrobat add-in
0000004f WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
0000004f WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-The system cannot find the file specified.
0000004e WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-001-Begin processing job : ***omitted***
\native-in.doc
0000004e WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-Calling function to clean registrys Resiliency entry
0000004e WordToPDFConv A com.adobe.service.ProcessResource$ManagerImpl logJdk ALC-PDG-001-000-The system cannot find the file specified.
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-028-native-in.doc: Job Completion Status: Failed
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-025-native-in.doc: Time Job Completed: 11/30/10 3:38 PM
0000004b BMCCaller     A com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-026-native-in.doc: Time of Job Execution: 13,407 ms
0000004b GeneratePDFIm E com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-000-ALC-PDG-016-004-Error occurred during native application invocation.
0000004b CreatePDFAct  E com.adobe.pdfg.logging.PDFGLogger log ALC-PDG-001-000-Invocation error.
0000004b CreatePDFAct  E com.adobe.pdfg.logging.PDFGLogger log TRAS0014I: The following exception was logged ALC-DSC-003-000: com.adobe.idp.dsc.DSCInvocationException: Invocation error.
at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.java:152)
at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor.java:140)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(TransactionInterceptor.java:74)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapterBean.doBMT(EjbTransactionBMTAdapterBean.java:197)
at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EJSLocalStatelessEjbTransactionBMTAdapter_3af08fdf.doBMT(Unknown Source)
at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvider.java:95)
at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInterceptor.java:72)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvocationStrategyInterceptor.intercept(InvocationStrategyInterceptor.java:55)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateInterceptor.java:37)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterceptor.java:132)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.interceptor.impl.JMXInterceptor.intercept(JMXInterceptor.java:48)
at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptorChainImpl.java:60)
at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:115)
at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:118)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessageReceiver.java:91)
at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:215)
at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispatcher.java:57)
at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
at com.adobe.aes.web.create.CreatePDFAct.createPDF(CreatePDFAct.java:383)
at com.adobe.aes.web.create.CreatePDFAct.createPDF2(CreatePDFAct.java:402)
at com.adobe.aes.web.create.CreatePDFAct.execute(CreatePDFAct.java:174)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:431)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:236)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1196)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:763)
at com.adobe.aes.web.AesActionServlet.service(AesActionServlet.java:63)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:856)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1143)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1084)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:145)
at com.adobe.idp.um.auth.filter.AuthenticationFilter.doFilter(AuthenticationFilter.java:154)
at com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:190)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:130)
at com.ibm.ws.webcontainer.filter.WebAppFilterChain._doFilter(WebAppFilterChain.java:87)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:832)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.doFilter(WebAppFilterManager.java:679)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:587)
at com.ibm.ws.wswebcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:481)
at com.ibm.ws.webcontainer.servlet.CacheServletWrapper.handleRequest(CacheServletWrapper.java:90)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:748)
at com.ibm.ws.wswebcontainer.WebContainer.handleRequest(WebContainer.java:1466)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:119)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewInformation(HttpInboundLink.java:387)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:102)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:136)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:196)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:751)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:881)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1473)
Caused by: ALC-PDG-16004-000: com.adobe.livecycle.generatepdf.client.ConversionException: ALC-PDG-016-004-Error occurred during native application invocation.
at com.adobe.pdfg.BMCCaller.checkResult(BMCCaller.java:358)
at com.adobe.pdfg.Native2PdfCaller.callNativeBMC(Native2PdfCaller.java:788)
at com.adobe.pdfg.Native2PdfCaller.createPDF(Native2PdfCaller.java:298)
at com.adobe.pdfg.GeneratePDFImpl.createPDFCommon(GeneratePDFImpl.java:342)
at com.adobe.pdfg.GeneratePDFImpl.createPDF(GeneratePDFImpl.java:172)
at sun.reflect.GeneratedMethodAccessor220.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:618)
at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.java:118)
... 58 more

Avatar

Level 8

Okay, that does tell us something.  If you can't open the document on the LiveCycle side in Word, then something happened to the file.  Its either corrupt, or some sort of encoding happened.  Assuming that you can open the source document (on the client side), then my guess would be something happened during when preparing the request, or during transmission.

I re-read your original post and I noticed something interesting.  Are you base64 encoding the document yourself before you add it to the BLOB?  If so, then that may be the probem.  When you use the BLOB's setBinaryData method it will perform the base64 encoding for you.  If its already base64 encoded then you are double encoding it.

Since you have access to the SOAP message (from your other post), can you decode the document in the <ser:binaryData> tag?  That will tell us if the document is being transmitted correctly.