1 2 Previous Next 43 Replies Latest reply: Feb 14, 2010 1:04 PM by gchaudhari RSS

    Document is not available on the sending side

    Community Member
      This post relates to a previous one in which I've asked for help in getting a simple workflow that saves a form as a PDF to disk to work. Based on help from Jasmin and Howard I believe that I'm closer to understanding how to make this work, but now I get an error when trying to read the document from the repository. Here's a complete description of what I've done:

      1. I create an Adobe XML Form File (PDF) called Jeff.pdf on my server in the location \BDI\Forms\Jeff.pdf. This is just a simple form with one field on it - there is no embedded schema (my understanding is that I would only need that if I wanted to make reference to specific fields in my workflow).

      2. I created a process with a two variables. The first is an xfaForm variable called JeffsForm - I set its Template Url to /BDI/Forms/Jeff.pdf. I've also checked all of the General check boxes and the Enduser UI Items check boxes. The other variable is a Document Form variable called DocumentVar (I've also tried setting this to type document...). Under General I've selected "Output" and under "Enduser UI Items" I've checked both boxes. The URL field in the "Datatype Specific Settings" is set to /BDI/Forms/Jeff.pdf.

      3. In my workflow I have a User Assignment step. In the "From Data Mappings" section ive set the "Input from varaible" to /process_data/JeffsForm. I left "Form must be saved" unchecked. In the "Output form data - (variable)" field I've entered JeffsForm. In the "Task id" field I've entered "/process_data/@id".

      4. I have a route going from the assignment step to a Read Resource Content step. This is where things fail. In the Input section I've tried a few different values. In one case I set the "Resource Uri" to "{$/process_data/JeffsForm/object/@templateUrl$}". In another attempt to get this to work I set it to the literal value of /BDI/Forms/Jeff.pdf. In the Output variable I've put DocumentVar.

      When I run this workflow it stalls with the following entry in the server error log:

      com.adobe.idp.DocumentError: The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.

      I'f anyone can tell me what I'm doing wrong I'd be extreamly grateful. I've spent about 5 days so far trying to get this very simple sample workflow to work with no luck.
        • 1. Re: Document is not available on the sending side
          Jasmin Charbonneau techies
          Let me try to explain again. I think you get confused with the different variable types.

          If you use an xfaForm variable, when the user hits submit then you will only get the data back in your process not the PDF. If you want the PDF, then you can use renderPDFForm pass the data and the location of your template in the repository and it'll generate the PDF.

          If you use a Document Form variable, when the user hits submit, you can pass the whole PDF back. Make sure the submit button on your form submits PDF and not XDP (in Form Designer). Then in your process you can get the PDF out of the Document Form variable with the following xPath /process_data/myDocumentForm/object/document and put it in a "document" variable. Finally you can write that document variable with the "Write Document" operation.

          I don't understand why you have step 4. The repository is like the file system. It just keep a copy of the original template. You don't need to get it back using the Read Ressource.

          Jasmin
          • 2. Re: Document is not available on the sending side
            Community Member
            I was trying to follow Howard's suggestion that I utilize an xfaForm variable "as my primary form type" so that I can manipulate data via XPath. He suggested that I create a document variable (should this be a document form variable or document?) without specifying "in (presumanbly meaning not to check the "input" check box?). The next step is to use the repository component to read the empty PDF from the repository to the document variable after which I can use the Form Data integration component to inject data from teh xfaForm variable...

            I also tried to follow the first approach you suggest by:

            1. Keeping my xfaForm variable. I understand that I will only have the data at this point and not the PDF but since I want to be able to easily refer to form values in routes etc this sounds like the best way to proceed.

            2. You state that "If you want the PDF, then you can use renderPDFForm pass the data and the location of your template in the repository and it'll generate the PDF". This is what I tried to do. I added a renderPDFForm step and configured it with:

            - the location of my template. I tried to reference this in the Input section by placing the value "/process_data/JeffsForm/object/@templateUrl" in the "Form to Rended - (template)" field.

            - the form data. I'm not clear on exactly how to reference the form data properly. I've tried to set the "Form Data - (XPath expression)" field to various things, including:

            a. deserialize(serialize(/process_data/JeffsForm/object/data/xdp/datasets/data/*, true))

            b.
            (/process_data/JeffsForm

            c./process_data/JeffsForm/object/data

            d. /process_data/JeffsForm/object/data/*

            At any rate, my process stalls with all of these... Can you tell me whether I have the template part right and how to properly reference the data?
            • 3. Re: Document is not available on the sending side
              Jasmin Charbonneau techies
              "the location of my template. I tried to reference this in the Input section by placing the value "/process_data/JeffsForm/object/@templateUrl" in the "Form to Rended - (template)" field."

              Just put the location from the repository (/MyFolder/MyForm.xdp)

              "the form data. I'm not clear on exactly how to reference the form data properly. I've tried to set the "Form Data - (XPath expression)" field to various things"

              Put the data in a document variable using the SetValue. Use the following xPath:
              /process_data/myDocVar = /process_data/myXMLvar

              Jasmin
              • 4. Re: Document is not available on the sending side
                Community Member
                My form was created as an Adobe XML Form File (PDF) type - I don't have an xdp file so I can't follow your instruction to reference /MyFolder/MyForm.xdp - I can point to /BDI/Forms/JEFF.pdf however, I'm not clear if this is correct.

                Also, you say to set /process_data/myDocVar = /process_data/myXMLvar. I don't understand what you mean by myXMLvar. Do you mean my xfaForm variable?

                At any rate, I tried the above settings and it stalls.
                • 5. Re: Document is not available on the sending side
                  Jasmin Charbonneau techies
                  Then just reference the pdf. /BDI/Forms/JEFF.pdf should work.

                  RenderPDFForm needs the xml data to merge with the template in a document variable. If you have the data in an xml variable then you can use the code in the previous post. If the data is in the xfaForm variable, then you'll need to get the xml data out of that variable.

                  /process_data/JeffsForm/object/data should give you the xml data from the xfaForm variable. The put it in a document variable.

                  Jasmin
                  • 6. Re: Document is not available on the sending side
                    Community Member
                    Thanks for your patience Jasmin,

                    I think it's close to working - but I still get the following error:

                    com.adobe.livecycle.formsservice.exception.RenderFormException: XML document structures must start and end within the same entity.

                    What should I be putting for the Content Root URI? Is the above problem related to this field, or can you think of someting else I might have set incorrectly?

                    Thanks again!
                    • 7. Re: Document is not available on the sending side
                      Jasmin Charbonneau techies
                      I would suggest to put the /process_data/JeffsForm/object/data in a XML var and write it to the file system or use the variable logger to make sure you get valid XML.

                      The Content Root URI should be set to repository://

                      Jasmin
                      • 8. Re: Document is not available on the sending side
                        Community Member
                        I set an XML variable and then called the logger component - I don't see anything wrong with the XML. I've set the Content Root URI to "repository://" - but what about the other 3 parameters. Presumably they need to be set to something - but what isn't at all clear to me... I wish there was some documentation that explained how to configure these services (if there is I can't find it).


                           

                                   
                                       
                                            1604
                                            1CF6B04F-9EA0-5734-1E34-CEC20094AC78
                                           
                                            user2@kanatest.com
                                            http://localhost:8080/workspace-server/submit
                                            1
                                            483 Bay st
                                           
                                           
                                       

                                        http://localhost:8080/workspace-server/submit
                                   

                               



                                   
                               

                           

                        • 9. Re: Document is not available on the sending side
                          Jasmin Charbonneau techies
                          If you just create the PDF to archive, then you can leave the three other parameters blank.

                          You can get more information about the parameters if you go under Help/HelpContent in Workbench. Just do a search for renderPDFForm.

                          Jasmin
                          • 10. Re: Document is not available on the sending side
                            Community Member
                            Thanks Jasmin, I have been looking at the online help, but it doesn't clearly explain the fields or provide examples. I've also tried to examine how the Render PDF form is configured in the sample application, but it hasn't helped me either... Could there be some other field/setting that I'm missing... or failing that, any way to get a clearer idea as to what this error message means?
                            • 11. Re: Document is not available on the sending side
                              Jasmin Charbonneau techies
                              This is not related to your RenderForm operation. This might be related to the XDP being cached and the cache expiring.

                              Can you send the stack trace from JBoss?

                              Thanks,

                              Jasmin
                              • 12. Re: Document is not available on the sending side
                                Community Member
                                Hi,
                                I get the same error when I try to save a document variable come from one of mine xfaForm variable:

                                com.adobe.idp.DocumentError: The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.
                                at com.adobe.idp.DocumentManagerClient.requestRemotePassivation(DocumentManagerClient.java:3 19).......

                                The really strange thing is that it happens not always and I don't know how to solve it.
                                • 13. Re: Document is not available on the sending side
                                  Stephane Gervais techies
                                  Can you post the complete stack trace? Thanks.
                                  • 14. Re: Document is not available on the sending side
                                    Community Member
                                    com.adobe.idp.DocumentError: The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.<br />     at com.adobe.idp.DocumentManagerClient.requestRemotePassivation(DocumentManagerClient.java:3 19)<br />     at com.adobe.idp.Document.passivate(Document.java:748)<br />     at com.adobe.idp.Document.<init>(Document.java:429)<br />     at com.adobe.idp.DocumentStorage.persist(DocumentStorage.java:37)<br />     at com.adobe.workflow.pat.service.PATExecutionContextImpl.setProcessDataValue(PATExecutionCo ntextImpl.java:570)<br />     at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:583)<br />     at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction(ProcessEngineBMTBea n.java:2851)<br />     at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncContinueBranchCommand(ProcessEngineBM TBean.java:2380)<br />     at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)<br />     at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)<br />     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />     at java.lang.reflect.Method.invoke(Method.java:585)<br />     at org.jboss.invocation.Invocation.performCall(Invocation.java:345)<br />     at org.jboss.ejb.StatelessSessionContainer$ContainerInterceptor.invoke(StatelessSessionConta iner.java:214)<br />     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)<br />     at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(ServiceEndpointInterceptor. java:54)<br />     at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidationInterceptor.java:48) <br />     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)<br />     at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxInterceptorBMT.java:1 58)<br />     at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:62)<br />     at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(StatelessSessionInstance Interceptor.java:154)<br />     at org.jboss.ejb.plugins.SecurityInterceptor.invoke(SecurityInterceptor.java:153)<br />     at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br />     at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invoke(ProxyFactoryFinderInterceptor. java:122)<br />     at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:624)<br />     at org.jboss.ejb.Container.invoke(Container.java:873)<br />     at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalProxyFactory.java:415)< br />     at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSessionProxy.java:88)<b r />     at $Proxy196.asyncContinueBranchCommand(Unknown Source)<br />     at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:133)<br />     at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:94)<br />     at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source)<br />     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)<br />     at java.lang.reflect.Method.invoke(Method.java:585)<br />     at org.jboss.invocation.Invocation.performCall(Invocation.java:345)<br />     at org.jboss.ejb.MessageDrivenContainer$ContainerInterceptor.invoke(MessageDrivenContainer.j ava:475)<br />     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invoke(CachedConnectionI nterceptor.java:149)<br />     at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(MessageDrivenInstanceInterc eptor.java:101)<br />     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInterceptor.java:106)<br />     at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxInterceptorCMT.java:335)<br />     at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:166)<br />     at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityInterceptor.java:94)<b r />     at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)<br />     at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenContainer.java:389)<br />     at org.jboss.ejb.Container.invoke(Container.java:873)<br />     at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvoker.java:1077)<br />     at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onMessage(JMSContainerI nvoker.java:1379)<br />     at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:256)<br />     at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMessageConsumer.java:904 )<br />     at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:160)<br />     at org.jboss.mq.SpySession.run(SpySession.java:333)<br />     at org.jboss.jms.asf.StdServerSession.run(StdServerSession.java:180)<br />     at EDU.oswego.cs.dl.util.concurrent.PooledExecutor$Worker.run(PooledExecutor.java:743)<br />     at java.lang.Thread.run(Thread.java:595)
                                    • 15. Re: Document is not available on the sending side
                                      I am experiencing the same DocumentError exception described above. I have a process deployed to Workspace ES, and it is now stalled because "The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early." I can start another instance of the process and the document is rendered fine, but trying to restart the stalled process always results in the same DocumentError exception being thrown.

                                      Has anyone else seen this behavior? Anyone know how to avoid it?
                                      Should I disable all caching options?
                                      • 16. Re: Document is not available on the sending side
                                        Community Member
                                        Hi,
                                        Sorry but somebody is able to solve it!? Because we are trying to propose adobe Livecycle ES as a solution for one of our most important customers.... but without a real fix for this problem it will be very hard and we have to select another technology.
                                        Please try to answer as soon as you can.

                                        Thanks
                                        • 17. Re: Document is not available on the sending side
                                          Stephane Gervais techies
                                          Guys,

                                          Using Jeff's instructions with a few modifications, I've been able to reproduce the 'Document not available...' error *only once*. In that one instance, the error manifested itself after I 'retried' a stalled operation. The operation had stalled because there was an error in my process. I'm using 8.0.1.2, which I assume you are all using as well.

                                          John and Valerio, could you post a detailed description of your process, similar to what Jeff did in his initial post, and point out where 'the error' occurs? I'm getting closer but having more examples to compare against will help.
                                          • 18. Re: Document is not available on the sending side
                                            Community Member
                                            I'm using the version 8.0.3187.1
                                            Ok, I try to explain, first:

                                            a. I have a simple pdf forms associated whit a embedded schema, and I have loaded this file in a xfaForms variable call it "modulo_assunzione"
                                            b. When a user start the workflow he have to fill this forms and send it to another department.

                                            Here's a description of my workflow:

                                            1. a execute service maps a "modulo_assunzione" variable's data to another xfaForms variable "dettagli_assunzione" that contain a pdf whit the same embedded schema, in this way:

                                            /process_data/dettagli_assunzione/object/data/xdp/datasets/data || /process_data/modulo_assunzione/object/data/xdp/datasets/data/assunzionedata/anag_info

                                            2. a Assign Task service have this settings:

                                            Form data mappings:
                                            -> input form variable: /process_data/dettagli_assunzione
                                            -> output form data: /dettagli_assunzione

                                            Attachments and Notes:
                                            Show attachment windows from this task -> checked
                                            Copy all note and attachment from previous task -> selected
                                            Output attachment (variable): allegati [is a list document variable]

                                            In this step a specific user can read the pdf and add some attachment file.... the user can accept o reject it

                                            3. If accepted this task arrive to another Assign Task service that have this settings:

                                            Initial user selection:
                                            Assign to process creator -> selected

                                            Form data mappings:
                                            -> input form variable: /process_data/dettagli_assunzione

                                            Attachments and Notes:
                                            Copy all note and attachment from previous task -> selected

                                            In this step the process creator can complete the task.

                                            4. If completed a Make a Directory service create a new directory using some data contained in the "modulo_assunzione" xfaFrom variable:

                                            Pathname (template):
                                            C:\Adobe\Dipendenti\{$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunz ionedata/anag_info/cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunzionedata/anag_info/ nome$}

                                            5. (HERE A GET A STALLED STATUS ONE TIME EVERY 3/4 RUNNING PROCESS) a Execute service maps a "dettagli_assunzione" variable's data to a XML variable "xmlVar" in this way:

                                            /process_data/xmlVar || /process_data/dettagli_assunzione/object/data

                                            6. a Read Resources Content service extract a pdf file form the "dettagli_assunzione" xfaForm variable and put it in a document variable:

                                            Resource Uri (XPhat expression):
                                            /process_data/dettagli_assunzione/object/@templateUrl

                                            Output:
                                            output_document (this is my document variable)

                                            7. a Import data service put together the XML data in the output_document:

                                            PDF document (variable):
                                            output_document

                                            Input Data (XPath expression):
                                            /process_data/dettagli_assunzione/object/data/xdp

                                            Output Data merged PDF (variable):
                                            output_document

                                            8. a Write Document service write the output_document in the new created folder into the local filesystem:

                                            Pathname (template):
                                            C:\Adobe\Dipendenti\{$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunz ionedata/anag_info/cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunzionedata/anag_info/ nome$}/Scheda Assunzione {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunzionedata/anag_info/ cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assunzionedata/anag_info/ nome$}.pdf

                                            Document (variable):
                                            output_document

                                            I really don't know where is the problem also because is very strange that it happens not every time.
                                            Thanks
                                            Valerio
                                            • 19. Re: Document is not available on the sending side
                                              Stephane Gervais techies
                                              Valerio,

                                              Thanks for the steps. I was not able to reproduce the problem.

                                              Since you indicate that you have 8.0.1 without any service packs (the line numbers in the stack trace confirms it), could you try to apply SP2 and see if the problem still occurs for new process instances?

                                              Any stalled operation reporting the error "Document is not available on the sending side anymore. [...]" can never be restarted since part of the data required to 'restart' the operation has been permanently lost.
                                              • 20. Re: Document is not available on the sending side
                                                Stephane Gervais techies
                                                Final note as I give up ... I've tried more tests on 8.0.1 (no service packs applied) and I'm still unable to reproduce the error.
                                                • 21. Re: Document is not available on the sending side
                                                  Community Member
                                                  For me this is an intermittent problem. It will be working fine, then
                                                  this exception will start occurring. One time when this occurred I
                                                  created a new process to access the same document and it worked fine,
                                                  while the original process still reported the document as missing.

                                                  I've tried rendering documents two ways:
                                                  1) with the "renderPDFForm" proccess, and
                                                  2) with the "Read Resource Content" process and using the "importData"
                                                  process found under Form Data Integration.

                                                  With option 1, I've only had this problem happen once (during our
                                                  customer demo of course :( ). However, with option 2 I found it
                                                  occurred at least once every day. I had to remove all uses of option
                                                  2 from our processes.

                                                  I wonder if it is related to form caching on the server?
                                                  • 22. Re: Document is not available on the sending side
                                                    Community Member
                                                    Just happened again. I'm now running with SP2 installed and this still
                                                    happens periodically. It happened at the very end of my workflow. The
                                                    initial form was completed and sent to one user for approval. After
                                                    they approved it, I extract the data from the form, add some additional
                                                    information, and call the renderPDFForm service to rerender the PDF
                                                    with the updated data. This PDF is then saved to disk.

                                                    Here are the logs

                                                    [7/8/08 8:33:30:922 EDT] 0000013c Document W com.adobe.idp.DocumentManagerClient requestRemotePassivation DOCS008: The remote side reported that the document data was possibly collected by timeout. Consider increasing the defaultDocumentDisposalTimeout setting.
                                                    [7/8/08 8:33:30:925 EDT] 0000013c FormServer E com.adobe.formServer.FormServer dumpLog The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.
                                                    [7/8/08 8:33:30:941 EDT] 0000013c Orchestration I ProcessManagerSerice:throwEvent()
                                                    [7/8/08 8:33:31:015 EDT] 0000013c SchedulerServ A com.adobe.idp.scheduler.SchedulerServiceImpl createQuartzTrigger OneShot Trigger created ----------------------------------------
                                                    [7/8/08 8:33:31:075 EDT] 0000013c AWS E com.adobe.workflow.engine.ProcessEngineBMTBean stallAction stalling action-instance: 12467 with message: ALC-DSC-003-000: com.adobe.idp.dsc.DSCInvocationException: Invocation error.
                                                    at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:210)
                                                    at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(InvocationInterceptor. java:134)
                                                    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
                                                    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.doInTransaction(Transa ctionInterceptor.java:74)
                                                    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapterBean.doRequiresNew (EjbTransactionBMTAdapterBean.java:218)
                                                    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EJSLocalStatelessEjbTransactionBMTAdapter_ 3af08fdf.doRequiresNew(Unknown Source)
                                                    at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute(EjbTransactionProvi der.java:133)
                                                    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.intercept(TransactionInt erceptor.java:72)
                                                    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
                                                    at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept(InvalidStateIntercep tor.java:37)
                                                    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
                                                    at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept(AuthorizationInterc eptor.java:80)
                                                    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.proceed(RequestInterceptor ChainImpl.java:44)
                                                    at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineImpl.java:113)
                                                    at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:102)
                                                    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMessage(AbstractMessage Receiver.java:88)
                                                    at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessageDispatcher.java:21 0)
                                                    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 com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:556)
                                                    at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction(ProcessEngineBMTBea n.java:2868)
                                                    at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncContinueBranchCommand(ProcessEngineBM TBean.java:2397)
                                                    at com.adobe.workflow.engine.EJSLocalStatelessadobe_ProcessEngineBMTEJB_7d3cbd67.asyncContin ueBranchCommand(Unknown Source)
                                                    at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(ProcessCommandControll erBean.java:133)
                                                    at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(ProcessCommandController Bean.java:94)
                                                    at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageEndpointHandler.java: 1014)
                                                    at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHandler.java:747)
                                                    at $Proxy0.onMessage(Unknown Source)
                                                    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoint(JmsJcaEndpointInvo kerImpl.java:201)
                                                    at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatcher.java:768)
                                                    at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.run(SibRaSingleProces sListener.java:584)
                                                    at com.ibm.ejs.j2c.work.WorkProxy.run(WorkProxy.java:419)
                                                    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1469)
                                                    Caused by: com.adobe.livecycle.formsservice.exception.RenderFormException: The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.
                                                    at com.adobe.idp.DocumentManagerClient.requestRemotePassivation(DocumentManagerClient.java:3 19)
                                                    at com.adobe.idp.Document.passivate(Document.java:759)
                                                    at com.adobe.idp.Document.passivate(Document.java:702)
                                                    at com.adobe.idp.Document.length(Document.java:1172)
                                                    at com.adobe.formServer.utils.GibsonUtils.addAttachments(GibsonUtils.java:469)
                                                    at com.adobe.formServer.SnapIn.PDFMerge.PDFMerge.finalize(PDFMerge.java:106)
                                                    at com.adobe.formServer.Controller.doNativeRender(Controller.java:536)
                                                    at com.adobe.formServer.Controller.doRender(Controller.java:492)
                                                    at com.adobe.formServer.Controller.render(Controller.java:131)
                                                    at com.adobe.formServer.FormServer.renderForm(FormServer.java:191)
                                                    at com.adobe.formServer.FormServer.renderForm(FormServer.java:256)
                                                    at com.adobe.formServer.docservice.FormsDocService.renderForm(FormsDocService.java:446)
                                                    at com.adobe.formServer.docservice.FormsDocService.renderForm(FormsDocService.java:405)
                                                    at com.adobe.formServer.docservice.FormsDocService.renderPDFForm(FormsDocService.java:109)
                                                    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:585)
                                                    at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(DefaultPOJOInvokerImpl.jav a:181)
                                                    ... 32 more
                                                    • 23. Re: Document is not available on the sending side
                                                      Stephane Gervais techies
                                                      Well, yes it seems to be related to how the Document instances are handled once retrieved from the Repository cache. I still don't see where the problem is; the best guess we have is that a race condition develops between the "Document sweeper" (runs every 30 seconds by default) and the "act of retrieving a cached Document and cloning it before returning it to the orchestration engine". It's all conjecture at this point: I still have no solid leads.

                                                      Perhaps the occurrencee of the problem will be lessened if the value of the defaultDocumentDisposalTimeout variable were increased. Maybe. The default document timeout is 600 seconds. You can bump this up in the AdminUI.
                                                      • 24. Re: Document is not available on the sending side
                                                        Community Member
                                                        I could really use some help with this.
                                                        Here are some more details on my workflow:

                                                        1) present form A to the user.
                                                        2) after form A is submitted, I extract the data.
                                                        3) using the renderPDFForm service, I create a new form B with the
                                                        data extracted from form A.
                                                        4) form B is sent to the first approver on the list.

                                                        I have never had a failure up to this point.

                                                        5) after form B is approved, I again extract the form data, update
                                                        a timestamp, and re-import the data back in to form B. I do *not*
                                                        use the renderPDFForm service here, just import the data.
                                                        6) next form B is assigned to the next approver on the list.
                                                        7) steps 5 and 6 are repeated until the form is approved by everyone
                                                        on the list.
                                                        8) now I use the renderPDFForm service to re-render form B, this time
                                                        with some attachments included.

                                                        This is the point where I'm seeing the failures most often. If the
                                                        entire approval process takes more than about 15 - 20 minutes, I get
                                                        the document not available exception. If it happens within a couple
                                                        of minutes, there's no problem.

                                                        Ofcourse, in a real world scenario the entire approval process will
                                                        probably take days.

                                                        Note, the exception has also occurred between steps 6 & 7.

                                                        Thanks for your help.
                                                        • 25. Re: Document is not available on the sending side
                                                          Community Member
                                                          Some more traces. Now I'm seeing the problem happen when trying to execute the importData service.

                                                          [17/07/08 15:46:32:181 EDT] 000002ac FormData A com.adobe.livecycle.formdataintegration.logging.FormDataIntegrationLogger logMessage ALC-FDI-001-308: Processing exportData operation on source document 2515252.
                                                          [17/07/08 15:46:33:025 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:33:031 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:33:939 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:33:944 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:34:977 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:34:983 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:35:175 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:35:181 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:36:036 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:36:042 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:36:240 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:36:246 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:37:202 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:37:208 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:38:160 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:38:166 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:38:173 EDT] 000002ac FormData A com.adobe.livecycle.formdataintegration.logging.FormDataIntegrationLogger logMessage ALC-FDI-001-307: Processing importData operation on source document 4966250.
                                                          [17/07/08 15:46:39:048 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:39:054 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:39:936 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:39:942 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:40:903 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Invoking action synchronously
                                                          [17/07/08 15:46:40:908 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:41:574 EDT] 000002ac AWS A com.adobe.workflow.engine.PEUtil invokeAction Asynchronous branch so invoking action asynchronously
                                                          [17/07/08 15:46:41:580 EDT] 000002ac Reference I org.apache.xml.security.signature.Reference verify Verification successful for URI "#f1ebd93b9857eb7ad80989f29f5562a0"
                                                          [17/07/08 15:46:41:683 EDT] 000002ac Document W com.adobe.idp.DocumentManagerClient requestRemotePassivation DOCS008: The remote side reported that the document data was possibly collected by timeout. Consider increasing the defaultDocumentDisposalTimeout setting.
                                                          [17/07/08 15:46:41:686 EDT] 000002ac JobManagerBea E JobManager:serializeObject():exception:
                                                          com.adobe.idp.DocumentError: The Document is not available on the sending side anymore. Make sure that it is not disposed or garbage collected too early.
                                                          at com.adobe.idp.DocumentManagerClient.requestRemotePassivation(DocumentManagerClient.java:3 19)
                                                          at com.adobe.idp.Document.passivate(Document.java:759)
                                                          at com.adobe.idp.Document.passivateGlobally(Document.java:711)
                                                          at com.adobe.idp.Document.writeObject(Document.java:528)
                                                          at sun.reflect.GeneratedMethodAccessor937.invoke(Unknown Source)
                                                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                                          at java.lang.reflect.Method.invoke(Method.java:585)
                                                          at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.writeObject(ObjectOutputStream.java:302)
                                                          at java.util.ArrayList.writeObject(ArrayList.java:569)
                                                          at sun.reflect.GeneratedMethodAccessor704.invoke(Unknown Source)
                                                          at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                                                          at java.lang.reflect.Method.invoke(Method.java:585)
                                                          at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:917)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1339)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
                                                          at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java:1375)
                                                          at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:1347)
                                                          at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.java:1290)
                                                          at java
                                                          • 26. Re: Document is not available on the sending side
                                                            Community Member
                                                            Thanks for the suggestions Stephan. I think I understand this a little
                                                            more now. I was thinking "Document not available" was referring to
                                                            my PDF form, but now I think it means one of my processes document
                                                            variables is no longer available, correct?

                                                            I've added some more traces to my process, and have narrowed the
                                                            problem down to the "User Service" "Assign Task". Everything is
                                                            good up until that point. You are exactly right about the value of
                                                            defaultDocumentDisposalTimeout (currently 10 minutes). If it takes
                                                            more than 10 minutes to complete the entire approval chain, I get
                                                            this exception. My problem is this is a long-lived process which
                                                            in reality is going to take several days to get completed.

                                                            Could it be something I'm doing wrong in my process? I'm currently
                                                            using a "Document Form" variable to hold my PDF form. Everytime it
                                                            gets approved by a user, I extract the data, record the approval info,
                                                            and re-import the data. I'm always working with the same "Document
                                                            Form" variable and xml variable. I've tried it using the "importData"
                                                            service, and with re-rendering the PDF each time with renderPDFForm.
                                                            It makes no difference, but those operations seem to be working fine
                                                            anyway. I put an executeScript which writes to system out just
                                                            before the "Assign Task" operation to verify that's the point of
                                                            failure.

                                                            If you have some time to help with this I'd really appreciate it.
                                                            We are in the middle of system test, and until this is resolved
                                                            we can't put this into production.
                                                            • 27. Re: Document is not available on the sending side
                                                              Stephane Gervais techies
                                                              Just a quick note while I digest the new details:
                                                              a) no, I do not think the error is caused because you're doing something wrong in your process.
                                                              b) yes, "document not available" refers to one of the instances of com.adobe.idp.Document used somewhere in your process, be it by a process variable or by an operation input/output parameter. It does not mean that the source form cannot be found in the Repository.
                                                              • 28. Re: Document is not available on the sending side
                                                                Community Member
                                                                Would it make a difference if I marked my Document Form variable as
                                                                an "output" variable?
                                                                • 29. Re: Document is not available on the sending side
                                                                  Stephane Gervais techies
                                                                  I am 'intermittently' able to reproduce the problem, but I don't use the UserService at all. I think the problem is not tied to a specific service, but lies in the Document API itself, or an interaction between the workflow engine/process map/Document API....
                                                                  • 30. Re: Document is not available on the sending side
                                                                    Stephane Gervais techies
                                                                    No, I doubt making the Document Form variable as output would make a difference. Process variables of long-lived processes are persisted back to the database after each operation. (At least, that's my understanding...)
                                                                    • 31. Re: Document is not available on the sending side
                                                                      Community Member
                                                                      Any ideas on how to work around this issue?
                                                                      • 32. Re: Document is not available on the sending side
                                                                        Stephane Gervais techies
                                                                        The only option that might work, and I stress *might* because I can't really test it conclusively, would be to increase the defaultDocumentDisposalTimeout to a value that will be longer than your longest running process. A week maybe... This would have rather negative disk space implications if your system is under heavy load. Since this is a testing environment, maybe this would be acceptable: that's up to you to decide. Remember to restart your appserver after changing that value.

                                                                        All this would be temporary until we figure out the problem and issue a patch ... which reminds me: did you contact support yet? If you contact support, I think we'll be in a better position to deliver a specific patch to address your issue, rather than waiting for the next service pack, due out much later this year.
                                                                        • 33. Re: Document is not available on the sending side
                                                                          Community Member
                                                                          One more thing to note is that this problem rarely showed up before
                                                                          I applied Service Pack 2 (only saw it 2 or 3 times over 2 months
                                                                          of development). Now I'm at 100% failure if I take longer than
                                                                          the defaultDocumentDisposalTimeout to complete the entire process.
                                                                          (It may have occurred more than that prior to me applying SP2 as
                                                                          most of my testing during development would have been completed
                                                                          before the defaultDocumentDispolsalTimeout, but it was possible
                                                                          to leave my processes running for day or more without failure).

                                                                          I feel like it must be something I'm doing in my process, as no one
                                                                          else is complaining about this problem. I could increase the timeout,
                                                                          but the forms I'm dealing with could take 2, 3, or 4 weeks to reach final approval, maybe longer.

                                                                          Does anyone else have a long-lived process that takes days to complete?
                                                                          • 34. Re: Document is not available on the sending side
                                                                            Stephane Gervais techies
                                                                            We've isolated the issue and hope to have a solution (patch) for this shortly... There is no workaround, unfortunately.
                                                                            • 35. Re: Document is not available on the sending side
                                                                              Community Member
                                                                              That's fantastic. Please let me know as soon as there's something I
                                                                              could test.
                                                                              • 36. Re: Document is not available on the sending side
                                                                                Stephane Gervais techies
                                                                                The patches are ready but not yet posted to adobe.com.

                                                                                In the meantime, you could inquire with Adobe Support about:
                                                                                - Quick Fix 0.3 if you're running LiveCycle 8.2.1,
                                                                                - Quick Fix 2.57 if you're running LiveCycle 8.0.1.2 (8.0 with SP2).
                                                                                • 37. Re: Document is not available on the sending side
                                                                                  Community Member
                                                                                  Unfortunately, I'm still experiencing the error.
                                                                                  It is now failing at my final renderPDFFrom when I render the
                                                                                  final version of the form, including attachments.

                                                                                  To confirm I have the patch applied correctly, here are the Patch
                                                                                  Version numbers reported by the admin console:

                                                                                  License Type: Full
                                                                                  Version: 8.0.1
                                                                                  Patch Version: 2.57
                                                                                  Expired Date: Not Applicable

                                                                                  Product Version Patch License Type
                                                                                  LiveCycle Reader Extensions ES 8.0.1 2.43 Full
                                                                                  LiveCycle Process Management ES 8.0.1 2.43 Full
                                                                                  LiveCycle Business Activity Monitoring ES 8.0.1 SP2 Full
                                                                                  LiveCycle Forms ES 8.0.1 2.43 Full
                                                                                  LiveCycle Output ES 8.0.1 2.43 Full
                                                                                  • 38. Re: Document is not available on the sending side
                                                                                    Community Member
                                                                                    Is it possible my problem is because I'm trying to add attachments
                                                                                    in my final call to renderPDF? Basically I start with a PDF that
                                                                                    has attachments. I extract the attachments and save them in a Map
                                                                                    variable. Then I create a second PDF (PDF-2) using the data from the
                                                                                    originally submitted PDF (PDF-1). After PDF-2 has gone through
                                                                                    an approval process, I call renderPDF again to get the attachments
                                                                                    added to PDF-2. If I don't add the attachments in the final call
                                                                                    to renderPDF, the document is rendered successfully. When I add
                                                                                    the attachments, I get the Document is Not Available exception.

                                                                                    (Note: the process works fine if I complete the entire process
                                                                                    before the Default document disposal timeout expires)
                                                                                    • 39. Re: Document is not available on the sending side
                                                                                      Stephane Gervais techies
                                                                                      Hmmm ... the patch would only apply to documents pulled out from the Repository. If you -- as you say -- are pulling attachments (Documents) out from PDF-1, it is possible (likely) that the patch can't help you out there.

                                                                                      To confirm, you experience the same type of error, but at a different point in your process?

                                                                                      Would you mind sharing your process with me? You can send it to livecycle57 at gmail dot com.
                                                                                      1 2 Previous Next