WSO2 API Manager 1.9.1 — Маршрутизация

Есть ли способ в WSO2 API Manger прочитать значение параметра из запроса xml/json (полезная нагрузка) и на основе этого значения направить запрос на разные серверные конечные точки?


person GKS    schedule 30.12.2015    source источник
comment
Вы пробовали расширения посредника?   -  person Kandy    schedule 07.01.2016


Ответы (1)


Вы можете попробовать использовать расширения посредника.

Диспетчер API имеет поток посредничества по умолчанию для запросов вызова API, которые он получает. Вы можете расширить этот поток передачи по умолчанию, чтобы направить запрос.

  1. Сначала напишите файл последовательности, чтобы изменить поток. Примерная последовательность следующая.
<sequence xmlns="http://ws.apache.org/ns/synapse" name="YahooWeather2">
  <property name="YQL" 
        type="Expression" 
        expression="concat('?q=select%20*%20from%20weather.forecast%20where%20woeid%20in%20(select%20woeid%20from%20geo.places(1)%20where%20text%3D%22',syn:get-property('uri.var.zipcode'),',',syn:get-property('uri.var.country'),'%22)format=json')"/>
  <property name="REST_URL_POSTFIX" type="Expression" expression="get-property('YQL')" scope="Axis2"/>
</sequence>
  1. Чтобы загрузить файл последовательности в APIM, войдите в систему как admin и перейдите в main-> Resources-> Browse.
  2. Перейдите к /_system/governance/apimgt/customsequences/in. в дереве.
  3. Нажмите Добавить ресурс и загрузите созданный файл последовательности.
  4. Войдите в API Publisher, выберите API, нажмите изменить и перейдите на вкладку Управление.
  5. Установите флажок Отметить, чтобы выбрать пользовательскую последовательность, которая будет выполняться в потоке сообщений, и в раскрывающемся списке В потоке выберите свою последовательность (в примере em> YahooWeather2) и выполните Сохранить и опубликовать .
  6. Войдите в магазин API, подпишитесь на API и создайте токен доступа.

Вы можете проверить доступность в Консоли API в магазине API. для получения дополнительной информации см. https://docs.wso2.com/display/AM191/Change+the+Default+Mediation+Flow+of+API+Requests

person Kandy    schedule 07.01.2016