Apache -Камельный маршрут для генерации и отправки PDF-документа по электронной почте - PullRequest
0 голосов
/ 09 апреля 2020

У меня есть маршрут Apache -Camel, который должен выполнить следующие шаги

1) создать документ pdf из списка объектов 2) отправить электронное письмо с указанным выше документом pdf в виде вложения.

У меня есть встроенный маршрут Java DSL Camel, который вызывает компонент службы для извлечения коллекции объектов, а также сгенерировал документ PDF и последний шаг отправки PDF в виде вложения электронной почты.

Этот процесс генерирует электронное письмо с PDF, но созданный PDF документ кажется поврежденным и отображает сообщение об ошибке «Не удалось открыть Acrobat Reader, потому что это не поддерживаемый тип файла или файл поврежден».

Я используя фрагмент кода следующим образом (без использования PdfProducer)

exchange.getIn.addAttachment(fileID,new DataHandler(byteArrayOutputStream.toByteArray(),"application/pdf"));

Пожалуйста, предложите.

1 Ответ

0 голосов
/ 09 апреля 2020

Возможно, вам нужно использовать DataSource вместо байтового массива. Например, новый DataHandler (новый ByteArrayDataSource (bytes)), существуют существующие реализации, называемые ByteArrayDatasource, но я не знаю, доступны ли они в Apache Camel. Вы можете реализовать свой собственный источник данных.

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