我正在使用soap api, https://demo.docusign.net/api/3.0/dsapi.asmx 。我正在在VB .NET中编写代码。如果我发送 pdf 文件,我从webservice得到未展示的> 。如果我发送 docx 文件,我得到系统无法将此文档转换为pdf。无法将文档(docusigntestdoc.docx)转换为PDF。错误:无法将文档提交到转换服务器:EnvelopeID:00000000-000000000000 -00-0000-000000000000文档名称:docusigntestdoc.docx - subsitcode:-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

有帮助吗?

解决方案

首先,尝试从文件名值中删除 .docx 扩展名( ),然后删除时段(。)文件扩展值( )。当您这样做时,您的请求的 <文档> 部分将如下所示(对于.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>
.

如果您仍然收到错误,那么我建议执行以下操作排除:

  1. 验证您尝试发送的文件(由 表示)确实是相同的文件类型,因为您指定<强度> 。 (我能够通过向PDF文件发送字节来验证您获得的错误,但将 设置为 docx - 所以肯定会有不准确的文件扩展名有问题的。)

  2. 验证您在 中发送的字节确实代表了文件的完整/准确内容。

  3. 暂时设置API并测试DocuSign是否能够通过DocuSign Web控制台创建新信封并上传文件时将文件转换为PDF。如果您能够通过Docusign UI(Web控制台)成功将该文件上传到新的信封,那么这证明文件有效(即,不损坏)您的问题可能与#1或#2一起呈现以上。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top