2013-08-06 1 views
2

Я использую встроенный подписи Rest API. Часть процесса Cert обрабатывает исключения правильно. Я вижу, что параметр returnURL event может возвращать «исключение». Как узнать, что такое исключение, поэтому я могу правильно обрабатывать и отображать «Человеческие, дружественные» сообщения? :) Есть ли какой-либо предпочтительный метод тестирования/проверки моего кода обработки исключений из-за возможных исключений, таких как специальные тестовые URL-адреса, которые заставляют исключение исключений? MTIAИщет docusign rest api помощь по обработке исключений

ответ

-1

Так что с точки зрения сертификации, отдел сертификации DocuSign требует, чтобы вы включали контактную информацию о любом отображаемом сообщении об ошибке, позволяя пользователю узнать, с кем они могут связаться, чтобы помочь устранить эту ошибку. И контактная информация НЕ может быть контактной информацией DocuSign, она должна быть конкретной для вашей организации или какой-либо другой третьей стороны, иначе вы не пройдете сертификацию.

С точки зрения возможных ошибок, руководство RESTAPI имеет страницу, которая содержит список возможных ошибок система может бросить:

REST API Errors List

Это относительно большой список, но так как ваш вопрос касаемо Embedded Подписание , вам просто нужно обрабатывать ошибки, связанные со встроенными получателями (также называемыми «невостребованными» получателями). Делая поиск термина «пленник» дает следующие ошибки из списка, что все должно быть возможным с помощью встроенного подписания рабочего процесса -

  • CAPTIVE_CARBON_COPY_RECIPIENT_NOT_SUPPORTED
  • CAPTIVE_IN_PERSON_SIGNER_RECIPIENT_NOT_SUPPORTED
  • INVALID_CAPTIVE_RECIPIENT_OPERATION
  • RECIPIENT_NOT_CAPTIVE
+0

Спасибо за ответ. Как определить, какая из этих ошибок произошла, когда я получаю «? Event = exception» в качестве параметра URL на странице returnURL? –

+0

Жаль, что было сложно найти дополнительную информацию по этой проблеме. Я думаю, что с точки зрения сертификации то, что я упомянул ранее, является наиболее актуальным - ваше приложение просто должно обрабатывать потенциальные исключения изящно, и вам нужно указать контактную информацию, отличную от DocuSign, по достижении. – Ergin

-1

Не знаете, какова ваша среда, но если вы используете .NET, возможно, это поможет. То, что я сделал, - это установить параметр out во встроенном методе подписи, который я получил от docusign, так что bool был возвращен, true при возврате через блок исключений, false, если он вернул URL-адрес токена iframe.

//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 была правдой, если бы я знал, что текст был возвращен, это текст ошибки, а не токен 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:[email protected]?Subject=DocuSign%20API%20Failure%20<%: Html.Encode(DateTime.Now.ToShortDateString()) %>" target="_top">[email protected]</a>.<br />Thank you.</p> 
    <% } else { %> 
     <iframe src="<%: Model.urlResponse %>" width="100%" height="1000" ></iframe> 
    <% } %> 

Конечно, я не получил заверенный либо еще так возьмите это с зерном соли так как я могу быть отклонен по какой-либо причине, используя этот метод.

Надеюсь, это полезно в некотором роде.

+0

Вы неправильно поняли.Запрос не относится к общим ошибкам API-вызовов, но когда подписная форма подписывается, а Docusign затем перенаправляет пользователя обратно в returnUrl, но имеет параметр статуса, указывающий на исключение. –