Axis2 / WSO2 ESB - требуется пояснение

Мне было поручено выполнить простой POC с использованием wso2 esb (4.8.1), у меня не было опыта работы с wso2esb или любым другим подобным образом, и я в процессе обучения.

Моя цель - получить TCP-пакет с двоичными данными от удаленной третьей стороны, преобразовать в SOAP, сделать кое-что, преобразовать обратно в двоичный и отправить ответ. Скрываясь в Интернете, я наткнулся на такие определения, как: Builder, MessageFormatter, TransportSender and TransportListener.

afaik
Builder предназначен для преобразования входящих данных в SOAP
MessageFormatter - преобразование исходящих данных из SOAP в ожидаемый тип
TransportSender - отправка SOAP, преобразованного в ожидаемый тип, по сети
TransportListener - получение запрос из сети и преобразование его в SOAP

1) TransportSender и Listener выполняют преобразование двоичного кода SOAP ‹-> сами или каким-то образом используют Builder / MessageFormatter, каков поток между этими четырьмя?

2) должен ли транспорт быть полностью отделен от компоновщика / форматтера?

3 не важно), чтобы зарегистрировать Builder и Formatter в axis2.xml, мне нужно указать contextType, означает ли это, что они применимы только к HTTP-запросу? Даже если это правда, что для меня плохо, поскольку я ожидаю необработанных двоичных данных, как мне зарегистрировать два отдельных средства форматирования / построения для одного и того же типа содержимого?


ОБНОВЛЕНИЕ 1: цитата из здесь:

Транспортный отправитель отправляет сообщение SOAP в зависимости от его конфигурации. Транспортный получатель ожидает сообщений SOAP.

это всегда правда? я имею в виду, что отправитель и слушатель предназначены только для сообщений SOAP?


person sv13    schedule 04.03.2014    source источник


Ответы (1)


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

Нет точного потока между четырьмя типами (отправители / слушатели, построители / средства форматирования). TransportListeners сериализует входящие сообщения из сети в формат SOAP (с помощью построителя). TransportSenders считывает сообщение SOAP, переводит его в формат исходящего канала и помещает его в канал (с помощью форматтера). Ключевым моментом здесь является то, что мы можем получать сообщения в axis2 с одного транспорта и отправлять их на совершенно другой транспорт.

Все это связывает объект контекста сообщения, который передается на различных этапах оси 2.

Вам следует взглянуть на руководство по архитектуре Axis2 и пару можно посмотреть еще на Builder и Formatter интерфейсы, которые могут прояснить их использование.

person RaviU    schedule 05.03.2014
comment
спасибо, я добиваюсь прогресса, но сейчас меня перевели на другие задания, я обязательно вернусь в ESB через день или два - person sv13; 06.03.2014