Parent workflows can wait indefinitely if the child workflow returns a multi-value output parameter with lots of values.

April 16, 2013 | KB: 1013184
Workflow Suite

Summary

Workflows that invoke other workflows are called parent workflows. The invoked workflows are called child workflows. Parent and child workflows can pass information to each other through input and output parameters. Output parameters delineate which information the child workflow will provide, when it finishes running, to the parent workflow.

If a child workflow returns a multi-value output parameter with lots of values, the parent workflow may never be notified that the child workflow finished running. The parent workflow will wait indefinitely and no errors will be logged. (SCR 99530)

Workaround

Increase the quota size for the message.

  1. Stop the Workflow Server service.
  2. Open the Laserfiche.Workflow.Service.exe.config file (located in the installation folder) in a text editor.
  3. Look for this section of code:

    <netMsmqBinding>
      <binding name="queueBinding" receiveErrorHandling="Drop">
       <security mode="None" />
      </binding>

  4. Add the line below with the "readerQuotas" tag.

    <netMsmqBinding>
      <binding name="queueBinding" receiveErrorHandling="Drop" maxReceivedMessageSize="1024000000" >
       <readerQuotas maxStringContentLength="1024000000" maxArrayLength="1024000000" />
       <security mode="None" />
      </binding>

  5. Save the config file
  6. Restart the Workflow Server service.
  7. Note: If User Account Control is enabled on the Workflow Server, Windows will try to force you to save the file as .txt and won't let you save it in-place. Save the file to a different location, make sure the extension hasn't changed, and then copy and paste it back into the Workflow install folder.

More information

This workaround is only necessary in Workflow versions 9.0.1 and before. The issue is fixed for versions 9.0.2 and higher.