Troubleshoot E-Sign Forms

Write the PDF to Disk

Normally, you will not be able to view PDF files generated to send to the e-sign partner until after they are signed and saved in your provider’s database. The view of the PDF returned from the e-sign partner is not the actual PDF, but instead a rasterized image of the PDF document created by the e-sign partner. Internally, Forms Builder has this initial PDF data contained within the workflow and model, and in the last step during the GetSignedDocument activity, retrieves the signed PDF from the e-sign partner, so that you can save it.

However, as a troubleshooting tool, you can enable the writing of the PDF to disk at the time it is returned from the conversion process and before being sent to the e-sign partner. To do so, locate the <appSettings> section in your Renderer web.config, and if the following do not exist, add them.

<add key="SaveViewCreatorPDFToDisk" value="false" />

<add key="SaveViewCreatorPDFToDiskPath" value="" />

Setting the first one to true will cause the file to be written to disk in the C:\Logs directory. To change the path, override the location with the 2nd key. However, you must ensure the directory you choose is writable by the currently configured IIS web service Application Pool Identity.

Error Code "TAB_OUT_OF_BOUNDS" - DocuSign

If you see the following error in the Renderer log for a form sequence with DocuSign components, you are likely submitting multiple Forms Builder forms as a single DocuSign envelope:

2017-05-25 11:40:17.9980 25 Error Cmc.Nexus.FormsBuilder.Services.DocuSignService DocuSign.eSign.Client.ApiException: Error calling CreateEnvelope: {"errorCode": "TAB_OUT_OF_BOUNDS",

To work around this error from DocuSign, ensure that DocuSign controls are not split across page boundaries.

The following styles enforce the default page breaks. They can be modified as needed. Copy the styles and save your changes in a custom style sheet. For more information, see Custom Content and Custom Styles.

 

/* The following is used during PDF creation for DocuSign and forces page breaks before each form except the first form. This can be commented or modified if some other pagination scheme is desired. */ @media print { #viewCreatorForm > div:not(:first-child) { page-break-before: always; } } /* The above @media print does not address page breaks within a long form. DocuSign may reject PDF files where DocuSign signatures cross page boundaries in the PDF files, usually with an error like "TAB_OUT_OF_BOUNDS". Adding appropriate pages breaks is best accommodated by adding an HTML component in the form anywhere a page break is required. Leave the HTML control empty but add the unique class name on the Class property setting: forms_builder_page_break. This will force a page break in the PDF file before the control. */ @media print { .forms_builder_page_break { page-break-before: always; } }

On any longer forms that spread across multiple pages when converted to PDF, we recommend that you drop an HTML component with Class forms_builder_page_break in a location on your form that will ensure the DocuSign component does not cross a page boundary.

Page break

E-Sign Document is Blank

If an e-sign document is blank, check the URL in the PrintUrlToPdf activity. If one URL character is wrong or spaces are not substituted with “+”, the target PDF will be empty. To verify you have the proper URL, check it with ViewCreator just after you have entered data on the form to be converted. Open a separate tab and ensure your form is displayed at the following URL:

http://<server><domain>:<port>/#/viewCreator/WorkflowDefinitionId/forms=FormName

On a slow server the time before the converter starts may not be sufficient. In the Renderer web.config the default setting for ViewCreatorDefaultStartConversionTimerInMilliseconds is 500. Try increasing it to 1000.

Note: Ensure that e-sign components and the Form Section they are contained in DO NOT have Visible set to false (as that will also hide from the e-sign partner). Use the build-in style hideDocuSignWhiteSpaceInFormSection in the Class property of the Form Section instead.

PrintUrlToPdf Times Out

In Forms Builder 3.3 and later, the viewCreator wait is no longer timer-based, it is now event-based. Forms may need to be re-saved, which will automatically update components to include a call to the event-based method "cmc-on-initialized".

If the PrintUrlToPdf activity times out, especially when many documents are merged into a single PDF file, simply re-save all forms in the sequence.

Hyperlinks Display with Target URL in Parentheses

If a PDF displays the target URL of a link in parentheses after the link text:

Click here (http://google.com)

Add the following to a custom style sheet in the /Content/Custom/ folder on the Renderer website:

@media print { a[href]:after { content: none !important; } }

The result is a proper link like this: Click here

Webhook Responses for Multiple Signer Sequences

Please confirm if all of these WebhookController messages at INFO level are seen in the log and that the workflow returns back to sequence after completing the DocuSign signatures. Similar messages are also logged for Adobe Sign and SignNow multi-signer sequences.

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: Starting WebhookController - Post ...

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Envelope returned from DocuSign:

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Envelope Status: Delivered

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: Starting WebhookController - Post ...

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Envelope returned from DocuSign:

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Envelope Status: Completed

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Searching for Workflow Instance Id: 664191dc-55ff-4c37-8a27-59d649de3141

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Status of “Signer1” is: Completed

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Status of "Signer2" is: Completed

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Found variableToSet: signer2Complete for Workflow Instance Id: 664191dc-55ff-4c37-8a27-59d649de3141

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - ResumeBookmark: Continue when all signatures are collected; Instance Id: 664191dc-55ff-4c37-8a27-59d649de3141

INFO - Cmc.Nexus.FormsBuilder.Renderer.Web.Controllers.WebhookController: WebhookController - Calling FormInstanceService ExecuteBookmarkNow method for Instance Id: 664191dc-55ff-4c37-8a27-59d649de3141

The next line is the LogLine from back in the workflow:

2020-10-21 21:18:32.7880 INFO- Cmc.Core.Workflow.Activities.LogLine

Note: You will see Workflow Instance Id values that are specific to your workflows.