Rest API 埋め込み署名を使用しています。Cert プロセスの一部は、例外を適切に処理しています。returnURL イベント パラメータが「例外」を返すことがあることがわかりました。適切に処理し、「ヒューマン フレンドリー」メッセージを表示できるように、例外の内容を特定するにはどうすればよいですか? : ) 例外を強制的に返す特定のテスト URL など、考えられる例外に対して例外処理コードをテスト/検証するための推奨される方法はありますか? MTIA
2 に答える
あなたの環境がどのようなものかはわかりませんが、.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;
}
例外を使用すると、エラー コードとエラー メッセージを含むエラー テキストも表示されます。私の見解では、failure bool が true かどうか、返されたテキストがエラー テキストであり、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>
<% } %>
もちろん、私はまだ認定を受けていないので、この方法を使用すると何らかの理由で拒否される可能性があるため、これを一粒の塩で受け取ってください.
これが何らかの形で役立つことを願っています。