Skip navigation
Currently Being Moderated

Document is not available on the sending side

Nov 23, 2007 7:55 AM

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.
 
Replies 1 2 Previous Next
  • Currently Being Moderated
    Nov 23, 2007 8:34 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Nov 23, 2007 9:57 AM   in reply to (jeffrowell)
    "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
     
    |
    Mark as:
  • Currently Being Moderated
    Nov 23, 2007 10:53 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Nov 23, 2007 12:18 PM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Nov 26, 2007 6:31 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Nov 27, 2007 8:31 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 10, 2008 4:10 AM   in reply to (jeffrowell)
    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(Document ManagerClient.java:319).......

    The really strange thing is that it happens not always and I don't know how to solve it.
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 10, 2008 5:12 AM   in reply to (jeffrowell)
    Can you post the complete stack trace? Thanks.
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 10, 2008 6:36 AM   in reply to (jeffrowell)
    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(Document ManagerClient.java:319)<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.setProcessData Value(PATExecutionContextImpl.java:570)<br />     at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:583)<br />     at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction (ProcessEngineBMTBean.java:2851)<br />     at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncContinueBranchCom mand(ProcessEngineBMTBean.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(DelegatingMethodAcces sorImpl.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(S tatelessSessionContainer.java:214)<br />     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo ke(CachedConnectionInterceptor.java:149)<br />     at org.jboss.webservice.server.ServiceEndpointInterceptor.invoke(Service EndpointInterceptor.java:54)<br />     at org.jboss.ejb.plugins.CallValidationInterceptor.invoke(CallValidation Interceptor.java:48)<br />     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte rceptor.java:106)<br />     at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNext(AbstractTxI nterceptorBMT.java:158)<br />     at org.jboss.ejb.plugins.TxInterceptorBMT.invoke(TxInterceptorBMT.java:6 2)<br />     at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor.invoke(Stat elessSessionInstanceInterceptor.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(ProxyFacto ryFinderInterceptor.java:122)<br />     at org.jboss.ejb.SessionContainer.internalInvoke(SessionContainer.java:6 24)<br />     at org.jboss.ejb.Container.invoke(Container.java:873)<br />     at org.jboss.ejb.plugins.local.BaseLocalProxyFactory.invoke(BaseLocalPro xyFactory.java:415)<br />     at org.jboss.ejb.plugins.local.StatelessSessionProxy.invoke(StatelessSes sionProxy.java:88)<br />     at $Proxy196.asyncContinueBranchCommand(Unknown Source)<br />     at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(Pr ocessCommandControllerBean.java:133)<br />     at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(Proc essCommandControllerBean.java:94)<br />     at sun.reflect.GeneratedMethodAccessor516.invoke(Unknown Source)<br />     at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.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(Mess ageDrivenContainer.java:475)<br />     at org.jboss.resource.connectionmanager.CachedConnectionInterceptor.invo ke(CachedConnectionInterceptor.java:149)<br />     at org.jboss.ejb.plugins.MessageDrivenInstanceInterceptor.invoke(Message DrivenInstanceInterceptor.java:101)<br />     at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext(AbstractTxInte rceptor.java:106)<br />     at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransactions(TxIntercep torCMT.java:335)<br />     at org.jboss.ejb.plugins.TxInterceptorCMT.invoke(TxInterceptorCMT.java:1 66)<br />     at org.jboss.ejb.plugins.RunAsSecurityInterceptor.invoke(RunAsSecurityIn terceptor.java:94)<br />     at org.jboss.ejb.plugins.LogInterceptor.invoke(LogInterceptor.java:192)< br />     at org.jboss.ejb.MessageDrivenContainer.internalInvoke(MessageDrivenCont ainer.java:389)<br />     at org.jboss.ejb.Container.invoke(Container.java:873)<br />     at org.jboss.ejb.plugins.jms.JMSContainerInvoker.invoke(JMSContainerInvo ker.java:1077)<br />     at org.jboss.ejb.plugins.jms.JMSContainerInvoker$MessageListenerImpl.onM essage(JMSContainerInvoker.java:1379)<br />     at org.jboss.jms.asf.StdServerSession.onMessage(StdServerSession.java:25 6)<br />     at org.jboss.mq.SpyMessageConsumer.sessionConsumerProcessMessage(SpyMess ageConsumer.java:904)<br />     at org.jboss.mq.SpyMessageConsumer.addMessage(SpyMessageConsumer.java:16 0)<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(PooledExec utor.java:743)<br />     at java.lang.Thread.run(Thread.java:595)
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 13, 2008 8:01 AM   in reply to (jeffrowell)
    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?
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 16, 2008 7:29 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 19, 2008 6:27 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 19, 2008 11:26 AM   in reply to (jeffrowell)
    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/assunzi onedata/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/assunzionedata/anag_info/cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assun zionedata/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/assunzionedata/anag_info/cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assun zionedata/anag_info/nome$}/Scheda Assunzione {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assun zionedata/anag_info/cognome$} {$/process_data/modulo_assunzione/object/data/xdp/datasets/data/assun zionedata/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
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 20, 2008 9:13 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 20, 2008 12:02 PM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jun 23, 2008 4:52 AM   in reply to (jeffrowell)
    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?
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 8, 2008 5:27 AM   in reply to (jeffrowell)
    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(Defaul tPOJOInvokerImpl.java:210)
    at com.adobe.idp.dsc.interceptor.impl.InvocationInterceptor.intercept(In vocationInterceptor.java:134)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.procee d(RequestInterceptorChainImpl.java:44)
    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor$1.do InTransaction(TransactionInterceptor.java:74)
    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EjbTransactionBMTAdapt erBean.doRequiresNew(EjbTransactionBMTAdapterBean.java:218)
    at com.adobe.idp.dsc.transaction.impl.ejb.adapter.EJSLocalStatelessEjbTr ansactionBMTAdapter_3af08fdf.doRequiresNew(Unknown Source)
    at com.adobe.idp.dsc.transaction.impl.ejb.EjbTransactionProvider.execute (EjbTransactionProvider.java:133)
    at com.adobe.idp.dsc.transaction.interceptor.TransactionInterceptor.inte rcept(TransactionInterceptor.java:72)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.procee d(RequestInterceptorChainImpl.java:44)
    at com.adobe.idp.dsc.interceptor.impl.InvalidStateInterceptor.intercept( InvalidStateInterceptor.java:37)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.procee d(RequestInterceptorChainImpl.java:44)
    at com.adobe.idp.dsc.interceptor.impl.AuthorizationInterceptor.intercept (AuthorizationInterceptor.java:80)
    at com.adobe.idp.dsc.interceptor.impl.RequestInterceptorChainImpl.procee d(RequestInterceptorChainImpl.java:44)
    at com.adobe.idp.dsc.engine.impl.ServiceEngineImpl.invoke(ServiceEngineI mpl.java:113)
    at com.adobe.idp.dsc.routing.Router.routeRequest(Router.java:102)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageReceiver.routeMes sage(AbstractMessageReceiver.java:88)
    at com.adobe.idp.dsc.provider.impl.vm.VMMessageDispatcher.doSend(VMMessa geDispatcher.java:210)
    at com.adobe.idp.dsc.provider.impl.base.AbstractMessageDispatcher.send(A bstractMessageDispatcher.java:57)
    at com.adobe.idp.dsc.clientsdk.ServiceClient.invoke(ServiceClient.java:2 08)
    at com.adobe.workflow.engine.PEUtil.invokeAction(PEUtil.java:556)
    at com.adobe.workflow.engine.ProcessEngineBMTBean.continueBranchAtAction (ProcessEngineBMTBean.java:2868)
    at com.adobe.workflow.engine.ProcessEngineBMTBean.asyncContinueBranchCom mand(ProcessEngineBMTBean.java:2397)
    at com.adobe.workflow.engine.EJSLocalStatelessadobe_ProcessEngineBMTEJB_ 7d3cbd67.asyncContinueBranchCommand(Unknown Source)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.doOnMessage(Pr ocessCommandControllerBean.java:133)
    at com.adobe.workflow.engine.ProcessCommandControllerBean.onMessage(Proc essCommandControllerBean.java:94)
    at com.ibm.ejs.container.MessageEndpointHandler.invokeMdbMethod(MessageE ndpointHandler.java:1014)
    at com.ibm.ejs.container.MessageEndpointHandler.invoke(MessageEndpointHa ndler.java:747)
    at $Proxy0.onMessage(Unknown Source)
    at com.ibm.ws.sib.api.jmsra.impl.JmsJcaEndpointInvokerImpl.invokeEndpoin t(JmsJcaEndpointInvokerImpl.java:201)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaDispatcher.dispatch(SibRaDispatch er.java:768)
    at com.ibm.ws.sib.ra.inbound.impl.SibRaSingleProcessListener$SibRaWork.r un(SibRaSingleProcessListener.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(Document ManagerClient.java:319)
    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.jav a: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(FormsDocSe rvice.java:446)
    at com.adobe.formServer.docservice.FormsDocService.renderForm(FormsDocSe rvice.java:405)
    at com.adobe.formServer.docservice.FormsDocService.renderPDFForm(FormsDo cService.java:109)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl. java:39)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at com.adobe.idp.dsc.component.impl.DefaultPOJOInvokerImpl.invoke(Defaul tPOJOInvokerImpl.java:181)
    ... 32 more
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 17, 2008 10:11 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 17, 2008 11:17 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 17, 2008 11:54 AM   in reply to (jeffrowell)
    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.FormDataIntegrationLo gger 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.FormDataIntegrationLo gger 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(Document ManagerClient.java:319)
    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(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:91 7)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 39)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 47)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 47)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a: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(DelegatingMethodAcces sorImpl.java:25)
    at java.lang.reflect.Method.invoke(Method.java:585)
    at java.io.ObjectStreamClass.invokeWriteObject(ObjectStreamClass.java:91 7)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 39)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 47)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 47)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java.io.ObjectOutputStream.writeObject0(ObjectOutputStream.java:1079)
    at java.io.ObjectOutputStream.defaultWriteFields(ObjectOutputStream.java :1375)
    at java.io.ObjectOutputStream.writeSerialData(ObjectOutputStream.java:13 47)
    at java.io.ObjectOutputStream.writeOrdinaryObject(ObjectOutputStream.jav a:1290)
    at java
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 4:17 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 5:11 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 5:21 AM   in reply to (jeffrowell)
    Would it make a difference if I marked my Document Form variable as
    an "output" variable?
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 7:58 AM   in reply to (jeffrowell)
    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....
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 8:02 AM   in reply to (jeffrowell)
    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...)
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 8:56 AM   in reply to (jeffrowell)
    Any ideas on how to work around this issue?
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 18, 2008 10:01 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 21, 2008 6:12 AM   in reply to (jeffrowell)
    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?
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 28, 2008 3:41 AM   in reply to (jeffrowell)
    We've isolated the issue and hope to have a solution (patch) for this shortly... There is no workaround, unfortunately.
     
    |
    Mark as:
  • Currently Being Moderated
    Jul 28, 2008 5:48 AM   in reply to (jeffrowell)
    That's fantastic. Please let me know as soon as there's something I
    could test.
     
    |
    Mark as:
  • Currently Being Moderated
    Aug 13, 2008 5:31 AM   in reply to (jeffrowell)
    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).
     
    |
    Mark as:
  • Currently Being Moderated
    Aug 19, 2008 6:07 AM   in reply to (jeffrowell)
    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
     
    |
    Mark as:
  • Currently Being Moderated
    Aug 20, 2008 10:30 AM   in reply to (jeffrowell)
    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)
     
    |
    Mark as:
  • Currently Being Moderated
    Aug 21, 2008 4:16 AM   in reply to (jeffrowell)
    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.
     
    |
    Mark as:
1 2 Previous Next

More Like This

  • Retrieving data ...

Bookmarked By (0)