Как загрузить документ из конверта в DocuSign? - PullRequest
0 голосов
/ 30 июня 2019

Мне нужно загрузить документ из конверта, используя остальные службы DocuSign.

Система, на которой я работаю, написана на Javascript, но использует библию Java.

Явыполнить вызов метода через java.net.URL, и я не могу получить байты файла для использования в системе.

Я попытался прочитать возвращенный InputStream, но это невернуть XML с base64.

var url = new java.net.URL('https://demo.docusign.net/restapi/v2.1/accounts/0c2ddaae-e258-4ade-a435-e4ee50fd2542/envelopes/c60565e2-40d9-43f3-bb2d-58e086c20fca/documents/1');
        var connection = url.openConnection();
        connection.setDoOutput(true);
        connection.setRequestMethod("GET");

        connection.setRequestProperty("X-DocuSign-Authentication", '{"Username":"user","Password":"password=","IntegratorKey": "guid"}');
        connection.setRequestProperty("content-type", "text/xml;charset=UTF-8");

if(connection.getResponseCode() == 200){
            try{
                var retorno = new java.io.BufferedReader(new java.io.InputStreamReader(connection.getInputStream()));
                var retData = new java.lang.StringBuilder();
                var line;
                while((line = retorno.readLine()) != null){
                    retData.append(line);
                }

                var strData = retData.toString();

Когда я использую SoapUi, я получаю это: JVBERi0xLjQKJfv8 / blablalblalblalba

Но в моем коде я получаю что-то вроде этого:

HTTP / 1.1 200 OK Cache-Control: без кэширования Длина содержимого: 122448

Тип содержимого: application / pdf X-RateLimit-Reset: 1561921200

X-RateLimit-Limit: 1000 X-RateLimit-Остаток: 955

X-DocuSign-TraceToken: c5710b05-b13c-460f-b04a-1e683471934e

Содержание-расположение: файл;имя файла = blank1.pdf;documentmentid = 1 Дата:

Вс, 30 июня 2019 18:51:47 GMT

1 Ответ

0 голосов
/ 01 июля 2019

Вы используете метод EnvelopeDocuments :: get API.

См. Пример кода .

См. Реализацию примера Java.

Обратите внимание, что documentId может быть идентификатором конкретного документа в конверте или одним из зарезервированных значений:

  • combined - загрузит одинPDF, содержащий все документы конверта
  • archive - загрузит ZIP-файл.

Ваш пример кода подразумевает, что вы пытаетесь оптимизировать загрузку путем потоковой передачи данных, которые выместо назначения.В наши дни, имея дешевую память (реальную и виртуальную), я предлагаю вам просто загрузить документ в память, а затем разобраться с ним.

Позже вы можете оптимизировать использование потоков при необходимости.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...