2013-08-16 1 views
-1

Эта проблема необычна, и я не вижу, как этот запрос отличается от других наших. Я посылаю запрос что-то вроде этого через PHP API:RequestRecipientToken Причина спорадического кода ошибки 123?

<ns1:RequestRecipientToken> 
    <ns1:EnvelopeID>...</ns1:EnvelopeID> 
    <ns1:ClientUserID>1</ns1:ClientUserID> 
    <ns1:Username>Jeff...</ns1:Username> 
    <ns1:Email>[email protected]</ns1:Email> 
    <ns1:AuthenticationAssertion> 
    <ns1:AssertionID>(guid)</ns1:AssertionID> 
    <ns1:AuthenticationInstant>2013-08-16T00:00:00.00</ns1:AuthenticationInstant> 
    <ns1:AuthenticationMethod>Password</ns1:AuthenticationMethod> 
    <ns1:SecurityDomain>MyDomain</ns1:SecurityDomain> 
    </ns1:AuthenticationAssertion> 
    <ns1:ClientURLs>...</ns1:ClientURLs> 
</ns1:RequestRecipientToken> 

И вернуть этот

<soap:Body> 
<soap:Fault> 
    <faultcode>soap:Client</faultcode> 
    <faultstring>The recipient you have identified is not a valid recipient of the specified envelope. </faultstring> 
    <faultactor>https://www.docusign.net/api/3.0/api.asmx</faultactor> 
    <detail> 
    <ErrorCode xmlns="missing in Web.Config">123</ErrorCode> 
    <ErrorReason xmlns="missing in Web.Config">The recipient you have identified is not a valid recipient of the specified envelope.</ErrorReason> 
    </detail> 
</soap:Fault> 

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

Причины я исключил: 1) Я вошел в DocuSign сайт, чтобы найти конверт и убедиться, что все было там и соответствует 2) имя получателя, адрес электронной почты, и ClientUserId матч, потому что я использовал стратегию извлекать информацию о получателе непосредственно перед выполнением вызова RequestRecipientToken.

Кстати, я не думаю, что Docusign должен использовать Stack Overflow в качестве форума поддержки, но они есть.

ответ

0

Причина проблемы в том, что имя получателей не соответствует запросу и встречается только для имен с определенными специальными символами.

Вы идентифицируете получателя в запросе двумя полями: имя пользователя и адрес электронной почты. Адрес электронной почты совпадает, однако вы можете легко случайно потерять некоторые специальные символы, если вы сохраните имя в базе данных. Простым примером может быть имя O'Brien, но оно также может возникнуть из-за символов не-ascii в имени.

Решение должно больше не отправлять запрос RequestRecipientToken с использованием имени, полученного из базы данных. Вместо этого начните с запроса конверта по API с помощью идентификатора конверта, который возвращает список получателей, включая их имена и электронные письма. Выберите нужного получателя, сопоставив его в другом поле, кроме имени, например, электронной почты. Используйте имя этого получателя, как определено в данных о конверте, в качестве имени, которое необходимо указать в запросе RequestRecipientToken.

1

Возможности, которые первые приходят на ум:

  • Конверт был аннулирован.
  • Срок действия конверта истек.
  • Получатель действительно не является получателем этого конверта.

Есть ли какие-либо из этих конвертов, в которых вы испытали эту спорадическую ошибку, когда-либо аннулировались или истекли? И что происходит, когда вы получаете эту ошибку, вы просто делаете тот же самый точный вызов снова после этого и на этот раз? Я бы начал с подтверждения таких оснований. Этот код ошибки 123 также подозрительный для меня - не видел этого раньше, и мне интересно, выходит ли это с платформы DocuSign.

Для третьей потенциальной причины, указанной выше, вы уверены, что вы всегда ссылаетесь на правильную комбинацию электронной почты, имя пользователя и clientUserId, чтобы правильно идентифицировать получателя? Если кто-то из них не совсем такой же, как когда этот получатель был добавлен в конверт, вы получите эту ошибку.

+0

В конкретном случае передо мной я зашел на сайт Docusign, чтобы убедиться, что конверт там и готов.Вероятность вашей третьей потенциальной причины наиболее вероятна, но в этом случае я даже попытался сначала получить информацию о получателях из Docusign, а затем использовать возвращаемую информацию, которая была такой же, как и в том, что я отправляю. – AndyClaw