Как я могу получить контент из Exchange.In:Body объекта из ProcessDefinition в Camel - PullRequest
0 голосов
/ 05 октября 2011

Я интегрирую данные между двумя системами, используя Apache Camel.Я хочу, чтобы полученный XML-файл был записан в XML-файл.Я хочу основать имя этого файла на некоторых данных, которые неизвестны при запуске цепочки интеграции.

Когда я выполнил первый шаг обогащения, необходимые данные находятся в объекте Exchange.

Итак, вопрос в том, как я могу получить данные из метода exchange.getIn (). GetBody () вне цепочки процессов, чтобы сгенерировать желаемое имя файла для моего выходного файла и в качестве последнего шага написатьXML к этому файлу?Или есть какой-то другой способ сделать это?

Вот моя текущая цепочка процессов из метода конфигурации построителей маршрутов:

from("test_main", "jetty:server")<br /> .process(new PiProgramCommonProcessor())<br /> .enrich("piProgrammeEnricher", new PiProgrammeEnricher())<br /> // after this step I have the data available in exchange.in.body .to(freeMarkerXMLGenerator)<br /> .to(xmlFileDestination) .end();

наилучшие пожелания RythmiC

1 Ответ

1 голос
/ 05 октября 2011

Файловый компонент берет имя файла из заголовка (если есть).Таким образом, вы можете просто добавить к сообщению заголовок с нужным именем файла.

В заголовке должен использоваться ключ «CamelFileName», который также определен в Exchange.FILE_NAME.

Подробнее см. На: http://camel.apache.org/file2

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