20 Replies Latest reply: Jan 14, 2008 3:01 AM by (sushant_pate) RSS

    Error in invocating the service

      I have a problem in writing a Java program and calling the service using invocation API. The service is a very simple one, which has one input parameter (String) and one output parameter (XML). When I ran the Java program, I got the following error:

      ALC-DSC-000-000: com.adobe.idp.dsc.DSCRuntimeException: Internal error.
      at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatche r.java:102)
      at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(AbstractMessageDispat cher.java:57)
      at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:208)
      at adobe.lc.sdk.UploadForm.invokeMyService(UploadForm.java:75)
      at adobe.lc.sdk.UploadForm.main(UploadForm.java:55)
      Caused by: rO0ABXNyAB1vcmcuYXBhY2hlLnNvYXAuU09BUEV4Y2VwdGlvbh5POjjsHQpiAgACTAAJZmF1bHRDb2RldAASTGphd mEvbGFuZy9TdHJpbmc7TAAPdGFyZ2V0RXhjZXB0aW9udAAVTGphdmEvbGFuZy9UaHJvd2FibGU7eHIAE2phdmEubGF uZy5FeGNlcHRpb27Q/R8+GjscxAIAAHhyABNqYXZhLmxhbmcuVGhyb3dhYmxl1cY1Jzl3uMsDAANMAAVjYXVzZXEAf gACTAANZGV0YWlsTWVzc2FnZXEAfgABWwAKc3RhY2tUcmFjZXQAHltMamF2YS9sYW5nL1N0YWNrVHJhY2VFbGVtZW5 0O3hwcQB+AAZ0AEdBRE1DMDAxMUU6IFRoZSBTT0FQIHJlbW90ZSBwcm9jZWR1cmUgY2FsbCAoUlBDKSBjYW5ub3QgY mUgdW5tYXJzaGFsbGVkLnVyAB5bTGphdmEubGFuZy5TdGFja1RyYWNlRWxlbWVudDsCRio8PP0iOQIAAHhwAAAABnN yABtqYXZhLmxhbmcuU3RhY2tUcmFjZUVsZW1lbnRhCcWaJjbdhQIABEkACmxpbmVOdW1iZXJMAA5kZWNsYXJpbmdDb GFzc3EAfgABTAAIZmlsZU5hbWVxAH4AAUwACm1ldGhvZE5hbWVxAH4AAXhwAAAAsnQALmNvbS5pYm0ud3MubWFuYWd lbWVudC5jb25uZWN0b3Iuc29hcC5TT0FQVXRpbHN0AA5TT0FQVXRpbHMuamF2YXQAD2V4dHJhY3RTb2FwQ2FsbHNxA H4ACgAAAHB0ADJjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLnNvYXAuU09BUENvbm5lY3RvcnQAElNPQVB Db25uZWN0b3IuamF2YXQAB3NlcnZpY2VzcQB+AAoAAAA3dAAzY29tLmlibS53cy5tYW5hZ2VtZW50LmNvbm5lY3Rvc i5zb2FwLlNPQVBDb25uZWN0aW9udAATU09BUENvbm5lY3Rpb24uamF2YXQADWhhbmRsZVJlcXVlc3RzcQB+AAoAAAK odAAeY29tLmlibS53cy5odHRwLkh0dHBDb25uZWN0aW9udAATSHR0cENvbm5lY3Rpb24uamF2YXQAFHJlYWRBbmRIY W5kbGVSZXF1ZXN0c3EAfgAKAAAB5HQAHmNvbS5pYm0ud3MuaHR0cC5IdHRwQ29ubmVjdGlvbnQAE0h0dHBDb25uZWN 0aW9uLmphdmF0AANydW5zcQB+AAoAAAW9dAAhY29tLmlibS53cy51dGlsLlRocmVhZFBvb2wkV29ya2VydAAPVGhyZ WFkUG9vbC5qYXZhdAADcnVueHQAGVNPQVAtRU5WOlNlcnZlci5FeGNlcHRpb25zcgAiamF2YS5sYW5nLklsbGVnYWx Bcmd1bWVudEV4Y2VwdGlvbrWJc9N9Zo+8AgAAeHIAGmphdmEubGFuZy5SdW50aW1lRXhjZXB0aW9unl8GRwo0g+UCA AB4cQB+AANxAH4AJnQIrGNvbS5hZG9iZS5pZHAuZHNjLnByb3ZpZGVyLmltcGwuZWpiLkVqYlJlcXVlc3RIb2xkZXI KU2VydmVyIHN0YWNrIHRyYWNlCkpNWFRyYW5zZm9ybUV4Y2VwdGlvbiBqYXZhLmxhbmcuQ2xhc3NOb3RGb3VuZEV4Y 2VwdGlvbjogY29tLmFkb2JlLmlkcC5kc2MucHJvdmlkZXIuaW1wbC5lamIuRWpiUmVxdWVzdEhvbGRlcgoJYXQgamF 2YS5uZXQuVVJMQ2xhc3NMb2FkZXIuZmluZENsYXNzKFVSTENsYXNzTG9hZGVyLmphdmE6NDkyKQoJYXQgY29tLmlib S53cy5ib290c3RyYXAuRXh0Q2xhc3NMb2FkZXIuZmluZENsYXNzKEV4dENsYXNzTG9hZGVyLmphdmE6MTMyKQoJYXQ gamF2YS5sYW5nLkNsYXNzTG9hZGVyLmxvYWRDbGFzcyhDbGFzc0xvYWRlci5qYXZhOjYwMykKCWF0IGNvbS5pYm0ud 3MuYm9vdHN0cmFwLkV4dENsYXNzTG9hZGVyLmxvYWRDbGFzcyhFeHRDbGFzc0xvYWRlci5qYXZhOjg3KQoJYXQgamF 2YS5sYW5nLkNsYXNzTG9hZGVyLmxvYWRDbGFzcyhDbGFzc0xvYWRlci5qYXZhOjU2OSkKCWF0IGNvbS5pYm0ud3Mub WFuYWdlbWVudC5jb25uZWN0b3IuaW50ZXJvcC5KTVhDbGFzc0xvYWRlci5sb2FkSk1YQ2xhc3MoSk1YQ2xhc3NMb2F kZXIuamF2YToyMTEpCglhdCBjb20uaWJtLndzLm1hbmFnZW1lbnQuY29ubmVjdG9yLmludGVyb3AuSk1YQ2xhc3NMb 2FkZXIubG9hZE9sZEpNWENsYXNzKEpNWENsYXNzTG9hZGVyLmphdmE6MTY1KQoJYXQgY29tLmlibS53cy5tYW5hZ2V tZW50LmNvbm5lY3Rvci5pbnRlcm9wLkpNWENsYXNzTG9hZGVyLmxvYWRDbGFzcyhKTVhDbGFzc0xvYWRlci5qYXZhO jEwMikKCWF0IGNvbS5pYm0ud3MubWFuYWdlbWVudC5jb25uZWN0b3IuaW50ZXJvcC5KTVhPYmplY3RJbnB1dFN0cmV hbS5yZXNvbHZlQ2xhc3MoSk1YT2JqZWN0SW5wdXRTdHJlYW0uamF2YTo5NSkKCWF0IGphdmEuaW8uT2JqZWN0SW5wd XRTdHJlYW0ucmVhZE5vblByb3h5RGVzYyhPYmplY3RJbnB1dFN0cmVhbS5qYXZhOjE1NjMpCglhdCBqYXZhLmlvLk9 iamVjdElucHV0U3RyZWFtLnJlYWRDbGFzc0Rlc2MoT2JqZWN0SW5wdXRTdHJlYW0uamF2YToxNDg1KQoJYXQgamF2Y S5pby5PYmplY3RJbnB1dFN0cmVhbS5yZWFkT3JkaW5hcnlPYmplY3QoT2JqZWN0SW5wdXRTdHJlYW0uamF2YToxNzE 4KQoJYXQgamF2YS5pby5PYmplY3RJbnB1dFN0cmVhbS5yZWFkT2JqZWN0MChPYmplY3RJbnB1dFN0cmVhbS5qYXZhO jEzMjQpCglhdCBqYXZhLmlvLk9iamVjdElucHV0U3RyZWFtLnJlYWRPYmplY3QoT2JqZWN0SW5wdXRTdHJlYW0uamF 2YTozNjIpCglh
        • 1. Re: Error in invocating the service
          Community Member
          at org.apache.axis.message.SOAPFaultBuilder.createFault(SOAPFaultBuilder.java:222)
          at org.apache.axis.message.SOAPFaultBuilder.endElement(SOAPFaultBuilder.java:129)
          at org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:10 87)
          at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
          at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch( Unknown Source)
          at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XML11Configuration.parse(Unknown Source)
          at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
          at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
          at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
          at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
          at org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
          at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
          at org.apache.axis.Message.getSOAPEnvelope(Message.java:435)
          at org.apache.axis.handlers.soap.MustUnderstandChecker.invoke(MustUnderstandChecker.java:62)
          at org.apache.axis.client.AxisClient.invoke(AxisClient.java:206)
          at org.apache.axis.client.Call.invokeEngine(Call.java:2784)
          at org.apache.axis.client.Call.invoke(Call.java:2767)
          at org.apache.axis.client.Call.invoke(Call.java:2443)
          at org.apache.axis.client.Call.invoke(Call.java:2366)
          at org.apache.axis.client.Call.invoke(Call.java:1812)
          at com.adobe.idp.dsc.provider.impl.soap.axis.sdk.SoapAxisDispatcher.doSend(SoapAxisDispatche r.java:100)
          ... 4 more

          The source code is:

          public class UploadForm
          {

          public static void main(String[] args)
          {
          try
          {
          Properties connectionProps = new Properties();
          connectionProps.setProperty("DSC_DEFAULT_SOAP_ENDPOINT", "http://myserver:40005");
          connectionProps.setProperty("DSC_TRANSPORT_PROTOCOL", ServiceClientFactoryProperties.DSC_SOAP_PROTOCOL);
          connectionProps.setProperty("DSC_SERVER_TYPE", ServiceClientFactoryProperties.DSC_WEBSPHERE_SERVER_TYPE);
          connectionProps.setProperty("DSC_CREDENTIAL_USERNAME", "administrator");
          connectionProps.setProperty("DSC_CREDENTIAL_PASSWORD", "password");
          ServiceClientFactory myFactory = ServiceClientFactory.createInstance(connectionProps);


          invokeMyService ( myFactory );

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

          private static void invokeMyService ( ServiceClientFactory myFactory ) throws Exception
          {

          ServiceClient serviceClient = myFactory.getServiceClient();
          HashMap parameters = new HashMap ( );
          parameters.put ( "confirmationNumber", "000000000012" );
          InvocationRequest request = myFactory.createInvocationRequest( "QueryForm", "invoke", parameters, true );
          InvocationResponse response = serviceClient.invoke( request );
          Document xmlDocument = (Document) response.getOutputParameter ( "xmlDocument" );


          }
          }

          The question is, I don't know if this is a client problem or on the server side. If it's the process problem, how can I tell if my process is working?
          • 2. Re: Error in invocating the service
            Community Member
            You can determime whether a process is being invoked and is working by using logging onto the ACC at and clicking Services > LiveCycle Process Management ES > Process Search.

            See the Archive Administration Help at http://www.adobe.com/support/documentation/en/livecycle/es/

            Do a search on your process and you will be able tell if the process is being invoked and whether it is stalling.

            Another suggestion is to make sure that you all the JAR files required to invoke this process using WEBSPHERE and SOAP. For a listing of JAR files see the SDK help at the above URL. The topic is named Including LiveCycle ES library files.

            Hope this helps.
            • 3. Re: Error in invocating the service
              Jasmin Charbonneau techies
              Is you variable xmlDocument of type document or xml in the LiveCycle process?

              Can you try to put it in a String just to test your code?

              Can you also try to use the EJB invocation instead of SOAP and see if you get the same error?

              Jasmin
              • 4. Re: Error in invocating the service
                I dont know whether this is a right forum to ask this question, but I'll go ahead:

                I have a batch processing requirement for the Output ES, I am getting an XML document as input that has records for about 500+ PDF's.

                I am currently doing the following:

                1) Creating the connection properties.
                2) Creating an OutputClient.
                3) using setSynchronous(false).
                4) calling generatePDFOutput

                I am getting the output PDFs and the code is working fine.

                since this is an asynchronous request, is there some way I can get the status of the request(like a job handle or something)?

                I am not using the JobManager currently.
                • 5. Re: Error in invocating the service
                  Jasmin Charbonneau techies
                  If you invoke the process asynchronously, then you are using Job Manager.

                  That's the nature of an asynchronous call. You make the call, then jop manager returns a job id. Then you can use the job id to query the status of the call.

                  Jasmin
                  • 6. Re: Error in invocating the service
                    Community Member
                    Ok this is what I am doing, But I am getting the invocation ID as
                    null
                    InvocationRequest request = myFactory.createInvocationRequest(
                    "OutputService",
                    "generatePDFOutput",
                    params,
                    false);
                    InvocationResponse response = myServiceClient.invoke(request);
                    String invocationId = response.getInvocationId();

                    But the PDFs are getting generated. Since there are more than 500 pdf getting generated(one XML has all the records) therefore I need to use the asynchronous call. But at the same time I want to also keep querying the status of the process, for that I require a JobManager(and subsequently a JOB ID).Since the invocationId is itself null I am unable to create the job manager.

                    Can createJob(request,persistent) be used, I checked the API and it said "used internally"?

                    This is really urgent so a prompt answer please.
                    Thanks in advance.
                    • 7. Re: Error in invocating the service
                      Community Member
                      Why are you using the Invocation API as opposed to the Output Java client library. It is recommended that you use the Output Java client as opposed to the invocation API.
                      • 8. Re: Error in invocating the service
                        Community Member
                        I needed to use the invocation API because I wanted to use the JobManager, We will be processing about 500 PDF at a go, we wanted the process to be asynchronous and also wanted to find the status of the process at run time.I looked into the documentation and found that only long-lived processes can be used with Job Manager.

                        Is there some way We can have the same functionality, without using the Job Manager? Or, is there some other way to find out the status of the process while its still executing ?

                        Thanks in advance.
                        • 9. Re: Error in invocating the service
                          Jasmin Charbonneau techies
                          "I looked into the documentation and found that only long-lived processes can be used with Job Manager."

                          Where did you find that in the doc? You should be able to call a short lived process asynchronously. I think there is a bug with the current build (that won't help you now) but technically you should be able to do that.

                          "Is there some way We can have the same functionality, without using the Job Manager? "

                          Your best bet would be to call support and see if you can get it fixed.

                          Jasmin
                          • 10. Re: Error in invocating the service
                            Community Member
                            Hi,
                            Is XSL-FO supported in LiveCycle Output?
                            • 11. Re: Error in invocating the service
                              Community Member
                              http://livedocs.adobe.com/livecycle/es/sdkHelp/programmer/sdkHelp/invokingIntro.24.3.html

                              "Processes can be short-lived or long-lived. A short-lived process is an operation that is performed synchronously and on the same execution thread from which it was invoked. Short-lived operations
                              are comparable to the standard behavior found in most programming languages, where a client application calls a method and waits for a return value."

                              We can invoke the short-lived process using the JobManager.. but it makes no sense since they are synchronous.

                              Thanks for your help anyways.

                              Well. I have another question
                              How do we use the setRenderAtClient() in the class RenderOptionsSpec.
                              Have u got any examples or something that could help?
                              • 12. Re: Error in invocating the service
                                Community Member
                                Can the Watched Folder be configured for the GeneratePDFOutput Service.
                                I have a requirement where I will have to FTP an XML data file to a folder and generate the PDFs?

                                I dont have an option to use the Java API.
                                Sushant
                                • 13. Re: Error in invocating the service
                                  Community Member
                                  I have a small question.
                                  I was looking at the documentation for LiveCycle invocation and found that LiveCycle services can be invoked by
                                  1) Java API (through RMI or SOAP)
                                  2) Web-Services(over SOAP)
                                  3) Watched Folder and Email.

                                  Is there any difference between invoking the Service through Java API SOAP and the Webservice invocation- if my client is a java based client?

                                  Sushant
                                  • 14. Re: Error in invocating the service
                                    Sushant,

                                    There is a difference between invoking the Java API with the SOAP protocol configured, and using the web services bindings. For the Java API the primary contract you have is the Java interface itself. We optimize the serialization of objects across this protocol for performance improvements. But the web services interface is based on the WSDL that we publish in the LiveCycle_ES_SDK and is WS-I compliant.

                                    What are the guidelines for using each?
                                    Java API: Use this if you want a strongly typed Java API to call LC or if performance is critical. The RMI protocol is roughly twice as fast as the SOAP protocol, but isn't as firewall friendly. That's why we gave the choice to also use SOAP if needed. We use the Java API with SOAP protocol for the communication between Workbench and the server and for this kind of client/server interaction, the performance difference is negligible.

                                    Web Services: Use this if you would like to call LiveCycle in a more SOA type of architecture. We publish the WSDL and have tested the creation of client stubs with a number of web service implementations including .NET, Axis, etc.

                                    Joe
                                    • 15. Re: Error in invocating the service
                                      Community Member
                                      Thanks Joe for the quick reply,
                                      another question:

                                      How do we call the LiveCycle in a clustered environment using
                                      the SOAP Java API(in Websphere), I know that using RMI(EJB) we can call by using the corbaloc?

                                      Thanks,
                                      Sushant
                                      • 16. Re: Error in invocating the service
                                        Community Member
                                        Hi,
                                        How do we grant the LiveCycle Server the rights to access the physical printer?

                                        Sushant
                                        • 17. Re: Error in invocating the service
                                          Jasmin Charbonneau techies
                                          As long as the account the LiveCycle service runs under has access to the printer from the LiveCycle server then you should be fine.

                                          Jasmin
                                          • 18. Re: Error in invocating the service
                                            Community Member
                                            Is there anyway to make a static call to the Output Service in a clustered environment(using EJB)?

                                            Sushant
                                            • 19. Re: Error in invocating the service
                                              Jasmin Charbonneau techies
                                              I'm not sure what you mean by a static call.

                                              Jasmin
                                              • 20. Re: Error in invocating the service
                                                Community Member
                                                By static value what I meant was suppose we have a clustered env with 3 nodes defined(n1,n2,n3) each node having one application server each
                                                a1,a2 and a3 respectively. When we deploy LiveCycle to this environment then LiveCycle will install in all the application servers.

                                                Now suppose only one of the application server say a1 has access to the physical printer,so I would want to be able to send all printer related requests to this specific server only.Is there some way to do it(assume I have a WebSphere env)?

                                                Sushant.