我正在使用Rest API嵌入式签名。 Cert过程的一部分是正确处理异常。我看到returnURL事件参数可以返回“异常”。我如何发现异常是什么,以便我能正确处理并显示“人性化,友好”的消息? :)是否有任何首选的方法来测试/验证我的异常处理代码以防止可能的异常,例如强制异常返回的特定测试URL? MTIA
答案 0 :(得分:-1)
因此,在认证方面,DocuSign认证部门要求您在显示的任何错误消息中包含联系信息,让用户知道他们可以联系谁以帮助解决错误。联系信息不能是DocuSign联系信息,它需要特定于您的组织或其他第三方,否则您将无法通过认证。
就可能的错误而言,RESTAPI指南有一个页面,列出了系统可能抛出的错误:
这是一个相对较大的列表,但由于您的问题与嵌入式签名有关,因此您只需要处理与嵌入式收件人(也称为“专属”收件人)相关的错误。搜索“captive”一词会从列表中产生以下错误,这些错误应该都可以通过嵌入式签名工作流程实现 -
答案 1 :(得分:-1)
不确定您的环境是什么样的,但如果您使用.NET,这可能会有所帮助。我所做的是在我从docusign获得的嵌入式签名方法上设置了一个out参数,以便返回bool,当通过异常块返回时为true,如果返回iframe令牌url则为false。
//Console.WriteLine("Embeded View Result --> " + responseText);
//System.Diagnostics.Process.Start(url);
failure = false;
return url;
}
catch (WebException e)
{
using (WebResponse response = e.Response)
{
HttpWebResponse httpResponse = (HttpWebResponse)response;
Console.WriteLine("Error code: {0}", httpResponse.StatusCode);
using (Stream data = response.GetResponseStream())
{
string text = new StreamReader(data).ReadToEnd();
//Console.WriteLine(text);
failure = true;
return text;
}
除了例外,您还会收到包含错误代码和错误消息的错误文本。在我看来,我测试了失败bool是否属实,如果是我知道返回的文本是错误文本而不是要加载到iFrame中的URL标记。在确定文本是错误后我解析它以显示代码,然后显示消息,然后是一些自定义文本,要求用户通过电子邮件向我们的服务台系统发送错误文本。
以下是我用来测试失败并显示iFrame或解析ASPX视图中的错误文本的内容:
<%if (Model.APIfail)
{ %>
<p><strong>It appears there was an error connecting with DocuSign API.</strong></p>
<p>Error Code: <br /><%: Model.urlResponse.Substring(Model.urlResponse.IndexOf("<errorCode>") + 11, Model.urlResponse.IndexOf("</errorCode>") - (Model.urlResponse.IndexOf("<errorCode>") + 11)) %></p>
<p>Error Message: <br /><%: Model.urlResponse.Substring(Model.urlResponse.IndexOf("<message>") + 9, Model.urlResponse.IndexOf("</message>") - (Model.urlResponse.IndexOf("<message>") + 9)) %></p>
<p>Please submit error code and error message to the MAAX Spas helpdesk at <a href="mailto:helpdesk@maaxspas.com?Subject=DocuSign%20API%20Failure%20<%: Html.Encode(DateTime.Now.ToShortDateString()) %>" target="_top">helpdesk@maaxspas.com</a>.<br />Thank you.</p>
<% } else { %>
<iframe src="<%: Model.urlResponse %>" width="100%" height="1000" ></iframe>
<% } %>
当然,我还没有获得认证,所以不管怎么说,因为无论出于什么原因我都可以使用这种方法拒绝。
希望这在某种程度上有用。