Получите токен из ответа пункта назначения и перейдите на новый канал в Mirth

Я создал канал в Mirth, который сначала вызывает службу аутентификации и возвращает ответ. Источник, который я настроил на прослушиватель HTTP, а в пункте назначения - отправитель HTTP, который вызывает службу отдыха для входа в систему и возвращает токен, как показано ниже.

{"token": "5912aa99-af21-5614-c232-d22be9e5c102", "app": "TEST API Suite", "expires": 845, "userID": "ZCT06D123Cfk20oROB9x-bEXeY12oQGfack6dMMc-0o ="}

Вопрос: Из ответа, который я получаю от службы отдыха, как мне извлечь часть токена, а затем передать этот токен в другой канал и использовать его для вызова другой службы.

Есть ли способ установить токен в переменной или глобальной карте в Destination1 и использовать его в конфигурации Destination2?

Пожалуйста помоги. Я новичок в веселье. Спасибо.


person User14141111    schedule 13.10.2016    source источник
comment
У вас есть ответ на форуме Mirth. Зачем тогда дублировать пост?   -  person Shamil    schedule 13.10.2016
comment
Я не знал, что публикация одного и того же вопроса на разных форумах в один и тот же день и время может быть проблемой только потому, что вы ожидаете срочного ответа.   -  person User14141111    schedule 15.10.2016
comment
Что ж, тогда ответьте на свой вопрос, показывая, что именно сработало в вашем конкретном случае. Это может быть полезно для других.   -  person Shamil    schedule 17.10.2016


Ответы (1)


Следующее помогло мне и решило мою проблему. Добавьте сценарий постпроцессора в канале1:

var dest1 = responseMap.get("Destination 1");
var response123=dest1.getMessage();
var obj = JSON.parse(response123);
logger.info('token==='+obj.token);
router.routeMessage('newChannelName', obj.token);
return;

А затем в скрипте препроцессора канала newChannelName я смог получить этот токен в виде сообщения.

logger.info('token: '+message);
person User14141111    schedule 21.10.2016