Pergunta

Estou enviando o envelope usando API SOAP, https://demo.docusign.net/api/3.0/dsapi.asmx.Estou escrevendo o código em VB .NET.Se eu estiver enviando o PDF arquivo, estou recebendo Erro não especificado do webservice.Se eu estou enviando docx arquivo, estou recebendo O sistema não conseguiu converter este documento em PDF.Não é possível converter o documento (DocusignTestDoc.docx) em PDF.Erro:Não foi possível enviar o documento ao Conversion Server:EnvelopeId:00000000-0000-0000-0000-000000000000 DocumentName:DocusignTestDoc.docx - SubmitCode:-10242 erro, voltando da API.Não tenho certeza de onde corrigir o problema.Aqui está minha carga útil.

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>

Por favor me ajude e me avise se estiver faltando alguma coisa aqui.Muito obrigado.

Htwemay

Foi útil?

Solução

Primeiro, tente remover o .docx extensão do valor Nome do arquivo (<Nome>) E remova o período (.) do valor da extensão do arquivo (<Extensão de arquivo>).Quando você faz isso, o <Documento> parte da sua solicitação ficará assim (para um arquivo .docx):

<Document>
    <ID>1</ID>
    <Name>DocusignTestDoc</Name>
    <PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
    <FileExtension>docx</FileExtension>
</Document>

Ou assim, se você estiver enviando um PDF:

<Document>
    <ID>1</ID>
    <Name>DocusignTestDoc</Name>
    <PDFBytes>Something like this qAABkb2NQcm9wcy9hcHAueG1sUEsFBgAAAAAMAAwA/wIAAG0tAAAAAAA=</PDFBytes>
    <FileExtension>pdf</FileExtension>
</Document>

Se você ainda receber um erro, sugiro fazer o seguinte para solucionar o problema:

  1. Verifique se o arquivo que você está tentando enviar (representado por <PDFBytes>) é de fato do mesmo tipo de arquivo como você especifica para <Extensão de arquivo>.(Consegui reproduzir o erro que você está recebendo enviando bytes para um arquivo PDF, mas definindo <Extensão de arquivo> para docx - portanto, uma extensão de arquivo imprecisa certamente será problemática.)

  2. Verifique se os bytes que você está enviando <PDFBytes> de fato representam o conteúdo completo/preciso do arquivo.

  3. Deixe de lado a API por um momento e teste se o DocuSign é capaz de converter o arquivo em PDF quando você criar um novo envelope por meio do console da web do DocuSign e carregar o arquivo.Se você conseguir carregar o arquivo com êxito para um novo envelope por meio da interface do usuário do DocuSign (console da web), isso prova que o arquivo é válido (ou seja, não está corrompido), é provável que o seu problema esteja no número 1 ou no número 2 acima.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top