Недавно я подготовил демо и подумал, что будет полезно, если я поделюсь им в своем блоге. Если вы новичок в WSO2 ESB, рекомендуется ссылаться на следующие предыдущие посты.
Вебинар: Руководство для покупателей по корпоративной сервисной шине (ESB)
http://www.youtube.com/watch?v=yokfudCDcg8
Как написать прокси для фильтрации запросов soap 1.1 с WSO2 ESB http://achala11.blogspot.com /2011/12/how-to-write-proxy-to-filter-soap-11.html
Прокси-сервисы с WSO2 ESB / Мониторинг с помощью TCPMon
http://achala11.blogspot.com/2012/05/proxy-services-with -wso2-ESB-monitoring.html
WSO2 ESB Proxy Services с Настраиваемый URL —
http://achala11.blogspot.com/2012/07/wso2-esb-proxy-services-with-custom.html
Маршрут к конечной точке на основе времени дня — Использование ESB
http://achala11.blogspot.com/2012/07/route-to-endpoint-based-on-time-of-day.html
Маршрутизировать сообщения на основе заголовков HTTP с помощью WSO2 ESB
http://achala11.blogspot.com/ 2012/08 / route-messages-based-on-http-headers.html
Хорошо, давайте посмотрим на демо.
Для этого необходимо следующее.
WSO2 ESB — http://wso2.com/products/enterprise-service-bus/
activemq —
soapui —
Предпосылки
- Загрузите, установите и запустите сервер JMS.
- Настройте пример сервера Axis2 для JMS.
- Запустите сервер Axis2 и разверните
SimpleStockQuoteService
. - Настройте транспорт Synase JMS.
Создайте следующий прокси (StockQuoteProxy) в WSO2 ESB. Это сохранит сообщение в очереди
<proxy xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteProxy" transports="http" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <property name="OUT_ONLY" value="true"/> <log level="custom"> <property name="1st proxy" value="-------------"/> </log> </inSequence> <outSequence> <send/> </outSequence> <endpoint> <address uri="jms:/StockQuoteJmsProxy?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616"/> </endpoint> </target> <description></description> </proxy>
Далее давайте создадим второй прокси. Это отправит сообщение в пункт назначения jms (StockQuoteJmsProxy2).
<proxy xmlns="http://ws.apache.org/ns/synapse" name="StockQuoteJmsProxy" transports="jms" statistics="disable" trace="disable" startOnLoad="true"> <target> <inSequence> <property name="OUT_ONLY" value="true"/> <log level="full"> <property name="2nd proxy before" value="-------------"/> </log> <xslt key="xslt-key-req"/> <log level="full"> <property name="2nd proxy after" value="-------------"/> </log> </inSequence> <outSequence> <log level="full"> <property name="2nd proxy outttttttt" value="-------------"/> </log> <send/> </outSequence> <endpoint> <address uri="jms:/StockQuoteJmsProxy2?transport.jms.ConnectionFactoryJNDIName=QueueConnectionFactory&java.naming.factory.initial=org.apache.activemq.jndi.ActiveMQInitialContextFactory&java.naming.provider.url=tcp://localhost:61616"/> </endpoint> </target> <description></description> </proxy>
Используйте soapui и создайте новый проект, используя wsdl простого прокси. Прочитайте [1] сообщение для более подробной информации.
Когда вы проверите очередь «StockQuoteJmsProxy2» в activemq, вы сможете увидеть новое сообщение.
[1] http://docs.wso2.org/wiki/display/ESB450/Sample+251%3A+Switching+from+HTTP(S)+to+JMS