Привет, ребята У меня есть следующая ситуация, когда мне нужно иметь «составной» процесс для XML-запроса. Это фрагмент из моего определения весны маршрута:Доступ к начальному обменному сообщению на верблюде
<route id="request1">
<from uri="activemq:request1" />
<unmarshal ref="integrationServerJaxb" />
<bean ref="createTINValidationMessage" />
<bean ref="switchComponent" />
<bean ref="createCreateTINMessage" />
<bean ref="switchComponent" />
<bean ref="createResponse1" />
<marshal ref="integrationServerJaxb" />
</route>
В основном то, что я хочу, чтобы достичь является:
- захватить сообщение из очереди request1 сообщения
- создать TIN ВАЛИДАЦИЮ сообщение из него
- посыла TIN VALIDATION к коммутатору
- Ожидание ответа переключателя
- с ответом переключателя начиная с шага 4 и исходного запроса 1 XML сообщение, создать CREATE Олово сообщение
- отправить сообщение (с шага 5) к выключателю
- создать XML-ответ, основанный на ответ от переключателя (с шага 6)
Так другими словами, мне нужно получить начальное сообщение во время обработки. В компоненте CreateCreateTINMessage я могу изменить параметр метода на тип сообщения, тогда он будет сопоставлен с фактическим сообщением Camel (с предыдущего шага), а не с самым первым сообщением в обмене. Проверяя обмен сообщениями, я мог проследить начальное сообщение JMS с помощью полезной нагрузки request1 xml, но получение этой глубины кажется неправильным. Мой вопрос: возможно ли каким-то образом выполнить интеграцию с промежуточным результатом и начальным сообщением с маршрута? Спасибо.
Закончилось использование Exchange в качестве параметра метода и настройка свойства обмена для дальнейшего поиска в последующих процессорах. – Konstantin