我使用SOAP API https://demo.docusign.net/api/3.0/dsapi.asmx发送信封。我在VB .NET中编写代码。如果我发送 PDF 文件,我将从网络服务获取 Unspecified_Error 。如果我发送 docx 文件,我将系统无法将此文档转换为PDF。无法将文档(DocusignTestDoc.docx)转换为PDF。错误:无法将文档提交到转换服务器:EnvelopeId:00000000-0000-0000-0000-000000000000 DocumentName:DocusignTestDoc.docx - SubmitCode:-10242 错误,从API返回。我不知道在哪里解决这个问题。这是我的有效载荷。
POST https://demo.docusign.net/api/3.0/dsapi.asmx HTTP/1.1
Content-Type: text/xml; charset=utf-8
X-DocuSign-Authentication: <DocuSignCredentials><Username>myemail@example.com</Username><Password>mypassword</Password><IntegratorKey>my integratorkey</IntegratorKey></DocuSignCredentials>
SOAPAction: "http://www.docusign.net/API/3.0/CreateAndSendEnvelope"
Host: demo.docusign.net
Content-Length: 17996
Expect: 100-continue
Accept-Encoding: gzip, deflate
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/">
<s:Body xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<CreateAndSendEnvelope xmlns="http://www.docusign.net/API/3.0">
<Envelope>
<AccountId>Account ID GUID</AccountId>
<Documents>
<Document>
<ID>1</ID>
<Name>DocusignTestDoc.docx</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>.docx</FileExtension>
</Document>
</Documents>
<Recipients>
<Recipient>
<UserName>R1</UserName>
<Email>r1@yahoo.com</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
</Recipient>
<Recipient>
<UserName>R2</UserName>
<Email>r2@gmail.com</Email>
<Type>Signer</Type>
<AccessCode xsi:nil="true" />
</Recipient>
</Recipients>
<Tabs>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>350</YPosition>
<Type>Company</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>1</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>450</YPosition>
<Type>SignHere</Type>
</Tab>
<Tab>
<DocumentID>1</DocumentID>
<RecipientID>2</RecipientID>
<PageNumber>1</PageNumber>
<XPosition>350</XPosition>
<YPosition>550</YPosition>
<Type>SignHere</Type>
</Tab>
</Tabs>
<Subject>Test application</Subject>
<EmailBlurb>Hello, this is the test application for you to sign</EmailBlurb>
</Envelope>
</CreateAndSendEnvelope>
</s:Body>
</s:Envelope>
如果我在这里丢失任何东西,请帮助我,让我知道。非常感谢你。
Htwemay
答案 0 :(得分:1)
首先,尝试从文件名值中删除 .docx 扩展名(&lt;名称&gt; )并删除期间(。)从文件扩展名值(&lt; FileExtension&gt; )。执行此操作时,请求的&lt; Document&gt; 部分将如下所示(对于.docx文件):
<Document>
<ID>1</ID>
<Name>DocusignTestDoc</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>docx</FileExtension>
</Document>
或者像这样,如果您要发送PDF:
<Document>
<ID>1</ID>
<Name>DocusignTestDoc</Name>
<PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
<FileExtension>pdf</FileExtension>
</Document>
如果您仍然收到错误,那么我建议您执行以下操作进行问题排查:
确定您尝试发送的文件(由&lt; PDFBytes&gt; 表示)确实属于您为<指定的相同文件类型强>&LT; FileExtension&GT; 即可。 (我能够通过发送PDF文件的字节但是将&lt; FileExtension&gt; 设置为 docx 来重现您所获得的错误 - 所以一个不准确的文件扩展名肯定会有问题。)
确认您在&lt; PDFBytes&gt; 中发送的字节确实代表了文件的完整/准确内容。
暂时搁置API并测试DocuSign是否能够在您通过DocuSign Web控制台创建新信封时将文件转换为PDF并上传文件。如果您能够通过DocuSign UI(Web控制台)成功将文件上传到新的信封,那么这证明该文件是有效的(即,没有损坏),您的问题很可能是#1或#2上方。