C#.net docusign Api调用返回错误(基础连接已关闭:接收时发生意外错误)



对于DocuSign签名设备:

C#.netDocusignApi调用返回错误:

The underlying connection was closed: An unexpected error occurred on a receive

DocusignURL包含两部分(baseURLResourcePath(。以base64string的形式发送用于签名的文档。请参阅以下代码。


private void Form1_Load(object sender, EventArgs e)
{           
String baseURL = "https://prime-dsa-devctr.docusign.net:8081";
String resourcePath = "sapiws/v1/digital_signature";
String apiUrl = baseURL + "/" + resourcePath;
var client = new RestClient(apiUrl);            
var request = new RestRequest(Method.PUT);
request.AddHeader("content-type", "application/json");
request.AddHeader("authorization", "Basic " + DSABasicAuthorizationString("xxxx@xxx.com", "####"));
// "digital_signature" request body as Json formated String (use JavaScriptSerializer or Newtonsoft.Json to build from object) 
String DigSigRequestBody =
"{ "CreateAndSignField" : " + //structure name specifies the operation / function
"{   "file": " + """ + File2Base64String("C:\work\PurchaseOrder.pdf") + "", " +
""fileType": "PDF", " +
""x": "91", " +
""y": "164", " +
""width": "113", " +
""height": "38", " +
""page": "1", " +
""timeFormat": "h:mm:ss", " +
""dateFormat": "dd/MM/yyyy", " +
""appearance": ["GRAPHICAL_IMAGE", "SIGNED_BY", "TIME"]" +
"}" +
"}";
request.AddParameter("application/json", DigSigRequestBody, ParameterType.RequestBody);            
IRestResponse response = client.Execute(request);            
JObject joResponse = JObject.Parse(response.Content);
Base64String2Path(joResponse["signedFile"].Value<string>(), "C:\work\PurchaseOrder.DSA-REST-SIGNED.pdf");
Console.WriteLine("success");
Console.ReadKey();
}
private static void Base64String2Path(string Base64String, string FilePath)
{
Byte[] bytes = Convert.FromBase64String(Base64String);
File.WriteAllBytes(FilePath, bytes);
}
private static String File2Base64String(String FilePath)
{
Byte[] bytes = File.ReadAllBytes(FilePath);
String fileB64Data = System.Convert.ToBase64String(bytes);
return fileB64Data;
}
private static String DSABasicAuthorizationString(String username, string password)
{
var DSABasicAuthorizationBytes = System.Text.Encoding.UTF8.GetBytes(username + ":" + password);
return System.Convert.ToBase64String(DSABasicAuthorizationBytes);
}

确实该服务目前已停止维护,请联系我们的DSA支持(DSASupport@DocuSign.com)并且它们将提供额外的选择。

DocuSign Signature Appliance试用系统目前处于离线状态,等待DocuSigne Engineering的软件更新。

有关更多信息,请向您的DocuSign技术联系人或销售人员询问状态。参考DocuSign票证CSNC-1521

最新更新