Как иметь динамическую маршрутизацию в datapower
Что ж, я довольно новичок в datapower(IBM Websphere xi50), и меня поразило, как динамически маршрутизировать. Предположим, мы настроили динамический бэкэнд, после чего клиент запрашивает какой-то сервис, как его маршрутизировать.
Это через XSLT или через определенное создание политики, у меня нет четкого представления об этом?
Спасибо
3 ответа
Вы можете сделать это через XSLT . Шаги, чтобы сделать это следующим образом (логически)
Шаг 1: Определите критерии, на основе которых вы хотите маршрутизацию [это может быть URI или любая часть сообщения] Шаг 2: Используйте встроенную функцию datapower dp:open-url для отправки трафика к цели.
Шаг 3: Получите ответ и обработайте его.
Есть и другие способы сделать это, но это самый прямой путь.
Обычно вы используете "var://service/routing-url", а не как Ajitabh ответил "dp:url-open".
Вы также можете использовать действие "Установить переменную" вместо XSLT.
dp: url-open используется для "разветвления" сообщения, а не для его маршрутизации. Если вы используете dp: url-opento route, вы также должны установить "skip-backside = 1"!
Смотрите образец для XSLT:
<xsl:variable name="destURL" select="concat('http://127.0.0.1:',$Transformer-port,'/', $usrTransformer)" />
<!-- Set backend URL -->
<dp:set-variable name="'var://service/routing-url'" value="$destURL" />
Я создаю XSLT, который просматривает различные элементы во входящем сообщении, чтобы помочь определить пункт назначения. Затем я вызвал метод расширения DataPower