Мне было поручено выполнить простой 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?