Как я уже писал ранее, в настоящее время я работаю с WSO2 ESB . Чтобы получить хорошее представление об этом ESB, я прошел через образцы (еще не закончил их все). Пример 12 посвящен одностороннему обмену сообщениями с ESB и позволяет использовать монитор TCP, чтобы сделать его видимым. Ранее я описывал, как настроить аналогичный инструмент под названием «TcpTunnelGUI», но на самом деле я предпочитаю TCP Monitor. Для использования инструмента см. Руководство здесь или здесь . Кстати, инструмент доступен с установкой WSO2 ESB, поэтому вам не нужно загружать его и устанавливать. Просто перейдите в каталог ‘$ CARBON_HOME / bin’ и ./tcpmon.sh
команду: ./tcpmon.sh
Чтобы увидеть пример 12 в действии с Tcp Monitor, сделайте следующее:
- Запустите WSO2 ESB
В этом примере используется настройка ESB, аналогичная настройке для примера 1, поэтому запустите ESB, перейдя в каталог «$ CARBON_HOME / bin» в терминале и введите следующую команду:
./wso2esb-samples.sh -sn 1
- Запустите сервер Apache Axis
Следующим шагом является запуск сервера Axis, на котором развернут SimpleStockQuote. Для этого откройте новый терминал и перейдите в каталог ‘$ CARBON_HOME / samples / axis2Server’. Введите команду ./axis2server.sh
.
- Запустите TcpMonitor
Если вы еще этого не сделали, запустите Tcp Monitor. Сделайте это, открыв новый терминал, перейдите к «$ CARBON_HOME / bin» и введите команду ./tcpmon.sh
Это должно запустить инструмент Tcp Monitor:
- Настройте TcpMonitor
Мы собираемся прослушать порт 8281 и перенаправить входящий трафик на 8280 (именно там наш ESB выполняет свою прокси-службу).
Вот как это настроить в Tcp Monitor:
После нажатия кнопки «Добавить» вы увидите, что TcpMonitor ожидает подключения:
Итак, давайте отправим сообщение через него.
- Запустите клиент Axis
Я внес небольшое изменение в утверждение, как показано на странице примера. Откройте новый терминал и выполните следующую команду из каталога ‘$ CARBON_HOME / samples / axis2Client’: ant stockquote -Daddurl=http://localhost:9000/services/SimpleStockQuoteService -Dprxurl=http://localhost:8281/ -Dmode=placeorder
- Проверьте результаты
В Мониторе TCP мы видим, что к Монитору TCP добавлена строка, а в нижней части мы видим входящий и исходящий запрос:
Вот запрос, отправленный клиентом Axis:
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
< wsa:ReplyTo > </ wsa:ReplyTo > < wsa:MessageID >urn:uuid:44ba7c6b-1836-4a62-8e40-814813a64022</ wsa:MessageID > < wsa:Action >urn:placeOrder</ wsa:Action > </ soapenv:Header > < soapenv:Body > < m0:order > < m0:price >154.76332953114107</ m0:price > < m0:quantity >8769</ m0:quantity > < m0:symbol >IBM</ m0:symbol > </ m0:order > </ m0:placeOrder > </ soapenv:Body > </ soapenv:Envelope > |
Важная вещь, на которую следует обратить внимание в запросе, это следующий элемент в заголовке:
1
2
3
|
С помощью этого элемента в заголовке мы сообщаем сервису we, что не ожидаем ответа. Итак, что мы получаем в ответ, это просто код ответа 202, который мы видим в Мониторе TCP:
1
2
3
4
5
6
7
|
HTTP/1.1 202 Accepted Content-Type: text/xml; charset=UTF-8 Server: Synapse-HttpComponents-NIO Date: Thu, 14 Mar 2013 20:30:19 GMT Transfer-Encoding: chunked 0 |
Это завершает этот пример, осталось только несколько!
Ссылка: Один из способов обмена сообщениями с WSO2 ESB от нашего партнера JCG Паскаля Альмы в блоге Pragmatic Integrator .