У меня есть сообщение, содержащее XML (заказ), содержащий несколько однородных узлов (например, список продуктов) в дополнение к другой информации (например, адрес, данные клиента и т. Д.). Я должен дополнить каждый «продукт» деталями, предоставленными другой внешней службой, и вернуть такое же полное XML-сообщение «заказ» с обогащенными «продуктами».
Я придумал эту последовательность шагов:
- Разделить исходный XML с помощью xpath для разделения сообщений (также сохраняя исходное сообщение)
- Обогащение разделенных сообщений дополнительными данными
- Поместите обогащенные части обратно в исходное сообщение, заменив старые элементы.
Я пытался использовать многоадресную рассылку, отправляя исходное сообщение в конечную точку, где выполняется разбиение и обогащение, и в конечную точку агрегации, где исходное сообщение и обогащенные сообщения являются агрегатами, а затем передаются процессору, который отвечает за объединение этих частей обратно в одну XML-файл. Но я не смог получить желаемый эффект ...
Каков будет правильный и хороший способ решить эту проблему?