Для отладки последовательностей медиаторов нужен инструмент, который бы позволял "дёргать" WSO2 ESB в ручном режиме. Создадим простой API в сервисной шине предприятия, чтобы можно было отправлять запросы из адресной строки браузера.
Сначала создаём последовательность для поступающих в шину запросов. Последовательность - это своего рода контейнер для медиаторов.
Назовём создаваемую последовательность tuktukInSequence и сохраним её кнопкой Save.
Теперь поместим последовательность в реестр, чтобы впоследствии подключить нашу последовательность к ресурсу в API. Мы сможем работать с последовательностью отдельно, в отличие от встроенных (inline) в ресурс последовательностей. После настройки у нас будет возможность переподключить tuktukInSequence к какому-нибудь прокси-сервису или другому API.
Теперь наша последовательность tuktukInSequence присутствует и в реестре и в списке последовательностей. Причём в списке последовательностей она повторяется дважды. Важно понимать, что это два независимых экземпляра. Та, что нам нужна, начинается с conf:/
Входная последовательность создана. Переходим к созданию API.
Называем наш API tuktuk. Задаём контекст /tuktuk. Все ссылки на этот путь URI будут отправляться в API tuktuk. Оттуда в ресурс add, а из ресурса в последовательность tuktukInSequence. Но мы забежали уже вперёд. Создадим прежде ресурс add.
Прокручиваем страницу вниз и видим форму настройки нового ресурса. Наш ресурс будет обрабатывать только GET-запросы. Адрес ресурса будет содержать два параметра, поэтому выбираем тип URL "URI-Template". Шаблон выглядит так:
/add/{xval}/{yval}/
Как я уже писал однобуквенное название параметра x приводило к нарушению работы пользовательского интерфейса, поэтому пишите больше букв. В медиаторах значение параметра извлекается выражением (expression):
get-property('uri.var.xval')
Теперь назначим последовательность для обработки входящих запросов. Возьмём tuktukInSequence из реестра.
Важно сначала нажать на кнопку Update для сохранения ресурса.
А только потом на кнопку Save для сохранения последовательности.
Ну вот всё готово! Можно пользоваться.
Для проверки работоспособности добавим в последовательность tuktukInSequence логирующий медиатор. В списке последовательностей находим tuktukInSequence и жмём на Edit:
Добавляем в последовательность медиатор Log.
Прокручиваем страницу вниз. Добавляем свойство xval.
Для простого теста работоспособности можно ограничится такими значениями полей: lalala, Value, uhuhuhu. Нажимаем на кнопку Update.
Затем сохраняем изменения последовательности кнопкой Save&Close.
Обращаемся к API из браузера:
http://192.168.4.67:8280/tuktuk/add/881/2888/
Видим сообщение в логе.
Значит, медиатор Log запускается.
Сначала создаём последовательность для поступающих в шину запросов. Последовательность - это своего рода контейнер для медиаторов.
Назовём создаваемую последовательность tuktukInSequence и сохраним её кнопкой Save.
Теперь поместим последовательность в реестр, чтобы впоследствии подключить нашу последовательность к ресурсу в API. Мы сможем работать с последовательностью отдельно, в отличие от встроенных (inline) в ресурс последовательностей. После настройки у нас будет возможность переподключить tuktukInSequence к какому-нибудь прокси-сервису или другому API.
Теперь наша последовательность tuktukInSequence присутствует и в реестре и в списке последовательностей. Причём в списке последовательностей она повторяется дважды. Важно понимать, что это два независимых экземпляра. Та, что нам нужна, начинается с conf:/
Входная последовательность создана. Переходим к созданию API.
Называем наш API tuktuk. Задаём контекст /tuktuk. Все ссылки на этот путь URI будут отправляться в API tuktuk. Оттуда в ресурс add, а из ресурса в последовательность tuktukInSequence. Но мы забежали уже вперёд. Создадим прежде ресурс add.
Прокручиваем страницу вниз и видим форму настройки нового ресурса. Наш ресурс будет обрабатывать только GET-запросы. Адрес ресурса будет содержать два параметра, поэтому выбираем тип URL "URI-Template". Шаблон выглядит так:
/add/{xval}/{yval}/
Как я уже писал однобуквенное название параметра x приводило к нарушению работы пользовательского интерфейса, поэтому пишите больше букв. В медиаторах значение параметра извлекается выражением (expression):
get-property('uri.var.xval')
Теперь назначим последовательность для обработки входящих запросов. Возьмём tuktukInSequence из реестра.
Важно сначала нажать на кнопку Update для сохранения ресурса.
А только потом на кнопку Save для сохранения последовательности.
Ну вот всё готово! Можно пользоваться.
Для проверки работоспособности добавим в последовательность tuktukInSequence логирующий медиатор. В списке последовательностей находим tuktukInSequence и жмём на Edit:
Добавляем в последовательность медиатор Log.
Прокручиваем страницу вниз. Добавляем свойство xval.
Для простого теста работоспособности можно ограничится такими значениями полей: lalala, Value, uhuhuhu. Нажимаем на кнопку Update.
Затем сохраняем изменения последовательности кнопкой Save&Close.
Обращаемся к API из браузера:
http://192.168.4.67:8280/tuktuk/add/881/2888/
Видим сообщение в логе.
Значит, медиатор Log запускается.
Комментариев нет:
Отправить комментарий