Mule - http сообщение

Мне нужно сделать несколько HTTP-вызовов для внешних систем. У меня простой вопрос, я хочу отправить по почте xml-файл, который не является самой полезной нагрузкой, а просто ее частью. Я могу легко получить его с помощью #[payload.getMyXmlPostMessage()], но как поместить эту информацию в компонент http? Я не хочу перезаписывать полезную нагрузку, содержащую другую информацию, которая будет использоваться позже в потоке.


person user1820620    schedule 02.09.2013    source источник
comment
Вам нужен ответ на этот пост, чтобы стать новой полезной нагрузкой, или это можно сделать параллельно?   -  person genjosanzo    schedule 02.09.2013
comment
Ответ новой полезной нагрузки должен обогатить старый. Спасибо   -  person user1820620    schedule 02.09.2013


Ответы (2)


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

Вы можете вызвать его с помощью транспорта виртуальной машины, установив шаблон обмена для запроса ответа.

Таким образом, полезная нагрузка будет скопирована, вы сможете использовать новый поток для внесения всех изменений, которые могут вам понадобиться, а результат будет сохранен в переменной, которую вы настроили в <enricher />

person genjosanzo    schedule 02.09.2013
comment
Спасибо, в итоге я подумал о том же решении. - person user1820620; 03.09.2013

Существуют различные варианты вызова внешней службы без изменения существующей полезной нагрузки: -

  1. Сохраните существующую полезную нагрузку в переменной непосредственно перед вызовом Http, а затем установите полезную нагрузку из переменной, используя set payload сразу после вызова Http.

  2. Используйте блок Async в потоке и вызовите внешний сервис, используя Http. Использование асинхронного блока создаст копию потока и не нарушит текущую полезную нагрузку, так как она получит ее копию.

  3. И, конечно же, есть компонент Enricher, и вы можете использовать свой компонент Http внутри Enricher и вызывать внешнюю службу. Как вы знаете, Enricher не будет мешать текущей полезной нагрузке.
person Anirban Sen Chowdhary    schedule 05.08.2015