2012-03-05 2 views
0

В моем приложении клиент отправляет SOAP-запрос через JSP-страницу в Mule ESB, а ESB направляет его в службу погоды. Я хочу отправить ответ от службы клиенту через ESB: как я могу структурировать поток для достижения этого? Где будет реагировать на землю в Mule ESB на первом месте?Mule Flow design

<Flow> 
Step1:inbound endpoint> 
Step 2:<component> 
Step 3:<outbound endpoint> 
Step4:<component> 
Step 5:<outbound endpoint> 
<Flow> 

Правильно ли этот поток? Достаточно ли этого, чтобы передать ответ клиенту?

У меня есть несколько вопросов по этому поводу:

  1. От исходящей конечной точки: я могу отправить ответ непосредственно клиенту без маршрутизации к компоненту?
  2. Нужно ли мне снова вызвать тот же класс компонента, чтобы передать ответ?

Отрывки из кода или образцы относительно этого будут большой помощью.

Просьба представить свои предложения.

ответ

0

Предполагая, что все ваши конечные точки являются запросом-ответом, сообщение, которое достигнет конца вашего потока, будет использоваться в качестве ответа на входящую конечную точку.

В фазе ответа Mule не проходит через элементы потока, которые он прошел на этапе запроса. Фактически вы могли бы добавить компоненты/трансформаторы для выполнения только в фазе ответа, обернув их в элемент ответа <.

Так ответы:

  1. Да.
  2. No.
+0

Спасибо за ваш ответ. –

+0

У меня есть еще несколько сомнений, которые нужно уточнить. 1.Если я могу отправить ответ исходящим напрямую, то где я могу сделать преобразование SOAPtoPOJO. Поскольку служба отправляет ответ SOAP, но я хочу, чтобы ответ был POJO-объектом. 2.Пожалуйста, предложите мне вашу идею о формировании структуры потока. ОК? Шаг1: въездной конечная точка> Шаг 2: Шаг 3: <исходящая конечная точка> 4.Where ответ приземлится в потоке ESB от службы. –

+0

CXF http: //www.mulesoft.org/documentation/display/MULE3USER/Consuming + Web + Services + с + CXF сделает SOAP для конвертации POJO для вас. –

0

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

Возможно, вы можете взглянуть на трансформаторы в муле. http://www.mulesoft.org/documentation/display/MULE2USER/Using+Transformers

+0

может ли сказать, где ответ будет приземляться на поток ESB? –

+0

Ответ на ответ не будет передан обратно с эсб. ответы могут быть настроены в каждой точке потока с использованием наших настраиваемых трансформаторов. –

+0

трансформаторы - это не что иное, как, например, сказать, что вы вызываете сервис из ur esb во внешнюю систему, ответ от внешней системы будет настроен или будет проходить какой-то процесс с использованием трансформаторов. Это более или менее похоже на перехватчики весной. –

0

https://developer.mulesoft.com/docs/display/current/Using+Perceptive+Flow+Design

https://developer.mulesoft.com/docs/display/current/Flows+and+Subflows Mule приложения построены вокруг одного или нескольких потоков. Как правило, приложение Mule начинает обработку сообщения, которое оно получает входящей конечной точкой в ​​потоке. Этот поток может либо реализовать все этапы обработки, либо направлять сообщение другим потокам или подпотокам для выполнения определенных задач. По отношению к потоку, вызвавшему его выполнение, потоки и подпотоки могут обрабатывать сообщения либо синхронно (см. Ниже, сверху), либо асинхронно

Смежные вопросы