2016-09-22 5 views
0

Я работаю над приложением-слушателем для получения запросов HTTP POST от DocuSign Connect. Он кодируется как веб-приложение ASP.NET MVC4.DocuSign Connect - Загруженный DOCX, возвращенный DOCX

С помощью среды песочницы я смог отправлять и получать документы в различных форматах файлов с ожидаемым поведением, описанным DocuSign ... кроме типов docx.

Сценарий я встретив выглядит следующим образом:

  1. Вложить и отправить файл тест DOCX для подписания через интерфейс «отправить конверт» в изолированной среде (для простоты, я просто добавить подпись накладку).
  2. Зашел в учетную запись электронной почты получателя и выполнил шаги по подписанию документа.
  3. Подождите несколько минут, чтобы приложение-слушатель откликнулся и извлек подписанный документ из XML.
  4. Проверено, что имя извлеченного подписанного документа не является PDF-файлом, но совпадает с загруженным файлом (имя и расширение файла). Попытка открыть его в Word приводит к тому, что Word жалуется, что файл поврежден и не может быть открыт.
  5. При проверке того же подписанного документа (в виде вложения) в «заполненном» уведомлении по электронной почте я рассматриваю его как PDF-файл и смог открыть его без проблем.

Мой вопрос: почему DocuSign Connect не возвращает подписанную PDF-версию файла docx, который был отправлен?

В документации DocuSign указано, что подписанные версии любого формата файла будут в формате PDF. В качестве проверки я попытался использовать файлы doc и jpg без проблем.

Что еще более странно, так это то, что если я вручную изменю расширение файла подписанного документа в PDF, я могу просмотреть содержимое файла, как ожидалось. Так это просто случай неправильного расширения файла, который возвращается обратно? Или есть один или два шага, которые мне не хватает?

Я приложил XML из нескольких запросов от DocuSign Connect. Одно правильно, без проблем; и это проблематично.

Correct XML from DocuSign Connect (Файлы Sent: 1 PDF, 1 DOC)

Problematic XML from DocSign Connect (Файлы Sent: 1 DOCX)

Если кто-нибудь знает, почему это происходит, я был бы признателен за любую помощь я могу получить. Это не значит, что это происходит, поскольку я могу запрограммировать исключение, чтобы переименовать расширение файла для файлов docx. Это всего лишь незначительная досада, что это нужно сделать.

ответ

1

Относительно:

Мой вопрос почему DocuSign Connect не возвращает подписанный PDF версию файла DOCX, который был послан?

DocuSign вернул документ PDF вам. Ваш вывод о том, что файл не был PDF-файлом, неверен.

Поле filename является информативным, расширение файла в поле имени файла также не имеет значения.

Что существенно:

  • DocuSign необходимо знать тип файла ввода/загруженных файлов. Он использует поле fileExtension, чтобы узнать из подателя, что такое тип файла.
  • Если тип файла - это нечто иное, чем PDF, оно всегда будет преобразовано в pdf. Исключений нет.
  • Если тип файла - pdf, файл pdf будет «сплющен» (растрирован), чтобы гарантировать, что вредоносное ПО в pdf не может нанести вред подписчику или другому получателю. (Файлы PDF на самом деле являются программами. Обычно программы производят печатную страницу, но они могут делать гораздо больше, как для добра, так и для зла. Но я отвлекаюсь.)
  • Если вы решили использовать систему webhook (Connect или eventNotifications) отправит вам файлы, эти файлы будут всегда быть в формате pdf.
  • Поле fileExtension ссылается на тип файла, который был отправлен до DocuSign. Правильное расширение файла для загруженного файла от DocuSign всегда .pdf.

В вашем случае я открыл ваше «проблемное» сообщение об уведомлении XML и скопировал содержимое PDFBytes в онлайн-декодер base64. Затем я открыл вывод с помощью pdf viewer и был показан ваш подписанный документ.

Не имеет значения, что такое «имя» документа. Выход из DocuSign всегда представляет собой документ PDF.

+0

Это имеет смысл. Я думаю, что меня отбросило, что произошло в «правильном» xml, который я связал в своем оригинальном посте. В этой ситуации я опубликовал файл .doc, и DocuSign изменил его на .PDF в xml. Исходя из этого, я предположил, что элемент DocumentPDF.Name имеет значение. – wing2k5

Смежные вопросы