dW: сценарий шлюза IBM Datapower

Я новичок в сценарии Datapower Gateway. В моем скрипте я пытаюсь получить значение переменной контекста, например var://context/WSM/identity/credentials.

Я пытаюсь что-то вроде:

session.input.getVariable('var://context/WSM/identity/credentials');
session.input.getVar('var://context/WSM/identity/credentials');
session.name('WSM');

Но у меня всегда есть «неопределенный» ответ.

Мой вопрос, как я могу получить доступ из gatewayscript к переменной контекста? И глобально, это правильный способ получить пользователя crenter code hereedentials или есть другой способ?

Спасибо за помощь.


person Nizar Salhaji    schedule 30.11.2016    source источник


Ответы (1)


Вам нужно использовать объект сеанса:

var ctx = session.name('WSM') || session.createContext('WSM');
var value = ctx.getVar('identity');

В противном случае вы можете использовать объект метаданных службы:

var sm = require('service-metadata');
var value = sm.getVar('var://context/WSM/identity/credentials');
person Anders    schedule 30.11.2016
comment
Привет, Андерс, в документации IBM говорится: используйте модуль метаданных службы для доступа к переменным службы, а не к переменной контекста !! - person Nizar Salhaji; 01.12.2016
comment
Привет, Андерс, у меня ошибка обработки: неправильное имя служебной переменной - person Nizar Salhaji; 01.12.2016
comment
Попробуйте прочитать полное содержимое var: session.ctx.readAsBuffer(function (error, buffer) {...}); - person Anders; 02.12.2016