-1

这个问题并不常见,我看不出这个请求与我们的任何其他请求有何不同。我通过 PHP API 发送类似这样的请求:

<ns1:RequestRecipientToken>
  <ns1:EnvelopeID>...</ns1:EnvelopeID>
  <ns1:ClientUserID>1</ns1:ClientUserID>
  <ns1:Username>Jeff...</ns1:Username>
  <ns1:Email>jeff@...</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 作为支持论坛,但他们确实如此。

4

2 回答 2

1

首先想到的可能性是:

  • 信封已作废。
  • 信封已过期。
  • 收件人确实不是那个信封的收件人。

您遇到此零星错误的这些信封是否曾经作废或过期?当您收到此错误时会发生什么,您是否只是在之后再次进行相同的确切调用并且这次它有效?我会先确认这样的基础知识。123 的错误代码对我来说也很可疑 - 以前从未见过,我想知道这是否来自 DocuSign 平台。

对于上面列出的第三个潜在原因,您是否肯定您始终引用正确的电子邮件、用户名和 clientUserId 组合来正确识别收件人?如果其中任何一个与将收件人添加到信封时不完全相同,那么您将收到该错误。

于 2013-08-16T17:14:29.887 回答
0

问题的原因是收件人名称与请求不匹配,并且只发生在具有某些特殊字符的名称中。

您通过两个字段识别请求中的收件人:用户名和电子邮件。电子邮件匹配,但是如果您将名称存储在数据库中,您很容易在不经意间丢失一些特殊字符。一个简单的示例是姓氏 O'Brien,但也可能由于名称中的非 ascii 字符而出现。

解决方案是不再使用从数据库中检索到的名称发送 RequestRecipientToken 请求。相反,首先通过信封 ID 通过 API 请求信封,这将返回收件人列表,包括他们的姓名和电子邮件。通过匹配名称以外的其他字段(例如电子邮件)来选择正确的收件人。使用信封详细信息中定义的此收件人的名称作为 RequestRecipientToken 请求中指定的名称。

于 2016-05-16T18:19:59.093 回答