【发布时间】:2016-03-02 20:54:02
【问题描述】:
我正在尝试使用 CreateEnvelopeFromTemplates 方法从模板文档创建一个 DocuSign 信封,该方法在他们的 v3 SOAP API Web 服务中可用。这是从 asp.NET v4.0 网站实例化的。
在调用带有传入所需参数对象的方法时。我从 Web 服务收到异常,基本上告诉我模板 ID 不是有效的 GUID。
669393: Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
Line 14889:
Line 14890: public DocuSignDSAPI.EnvelopeStatus CreateEnvelopeFromTemplates(DocuSignDSAPI.TemplateReference[] TemplateReferences, DocuSignDSAPI.Recipient[] Recipients, DocuSignDSAPI.EnvelopeInformation EnvelopeInformation, bool ActivateEnvelope) {
Line 14891: return base.Channel.CreateEnvelopeFromTemplates(TemplateReferences, Recipients, EnvelopeInformation, ActivateEnvelope);
Line 14892: }
Line 14893:
模板引用,一个guid。必须指定为针对 TemplateReference 对象的“模板”字符串属性。然后将其添加到 TemplateReferences 的动态数组中,该数组是 CreateEnvelopeFromTemplates 方法的输入参数之一。
实际模板 GUID:f37b4d64-54e3-4723-a6f1-a4120f0e9695
我正在使用我编写的以下函数构建我的模板引用对象,以尝试使功能可重用:
Private Function GetTemplateReference(ByVal TemplateID As String) As TemplateReference
Dim templateReference As New TemplateReference
Dim guidTemplateID As Guid
With TemplateReference
.TemplateLocation = TemplateLocationCode.Server
If Guid.TryParse(TemplateID, guidTemplateID) Then
.Template = guidTemplateID.ToString
End If
End With
Return TemplateReference
End Function
TemplateID 是在 TemplateReferences 数组实例化时从 appSetting 配置值传入的...
templateReferences = New TemplateReference() {GetTemplateReference(ConfigurationManager.AppSettings("DocuSignTemplate_Reference"))}
recipients = New Recipient() {AddRecipient("myself@work.email", "My Name")}
envelopeInformation = CreateEnvelopeInformation()
envelopeStatus = client.CreateEnvelopeFromTemplates(templateReferences, recipients, envelopeInformation, True)
正如您从我的 GetTemplateReference 函数中看到的那样,我还在将 GUID 设置回字符串之前对其进行解析,因此我知道它是有效的。模板在DocuSign端进行管理和存储,从而指定文档位置。
我指的是他们自己的文档: CreateEnvelopeFromTemplates
为什么哦,为什么该方法不喜欢我的模板 ID?我可以使用他们自己的代码示例成功地使用他们的 REST API 调用相同的方法。在最坏的情况下,我可以使用它,但宁愿与 Web 服务交互,因为我需要以 XML 或 JSON 格式构建所有相关请求。
如果有人能阐明这个问题,我将不胜感激。
感谢您花时间阅读我的问题!
【问题讨论】:
-
你能发布你传递的数据的踪迹吗?看起来您可能缺少 AccountID 或其他一些 GUID
标签: asp.net vb.net docusignapi