-->

Docusign eSign: CreateEnvelope requests timing out

2019-08-07 08:54发布

问题:

We've been having issues sending certain Docusign envelopes lately, specifically those with large file sizes.

The errors we've been getting are:

Error calling CreateEnvelope: The operation has timed out

And

The request was aborted: The request was canceled.

No inner exception with any additional information in either case.

These errors only occur on our production server; on my local development machine everything works fine, so I can only assume that this is a connectivity issue; that there simply isn't enough time to send the supplied data over the available connection before something times out. What I would like to know is, what is the something that's timing out? Are these errors coming from my end, or Docusign's? If the former, is there any way to increase the timeout? I've got my HTTP execution timeout set to 300 seconds:

<httpRuntime maxRequestLength="30000" requestValidationMode="4.0" executionTimeout="300" targetFramework="4.5" />

... but that doesn't seem to affect anything, it always seems to time out at the default 1 minute 50 seconds.

Is there anything more I can do to prevent these requests from timing out?

Thanks,

Adam

回答1:

Our issue has been resolved. The timeouts were indeed being caused by something on our end; there is a "Timeout" property which can be set against the EnvelopesApi object before sending; it can also be passed into the constructor when declared. So our fix was as simple as:

EnvelopesApi envelopesApi = new EnvelopesApi();
envelopesApi.Configuration.Timeout = DocusignTimeout;

The crux of our issue was that the Timeout property was not exposed in older versions of eSign. We had upgraded to 2.1.0 (the current version) earlier this week, but something must not have taken, as the metadata still showed our DocuSign.eSign.Client.Configuration class at version 15.4.0.0. Uninstalling the reinstalling eSign and RestSharp packages from NuGet gave us the correct version of this class, and enabled us to set our own timeout.

Hope this is helpful!