【问题标题】:dW: IBM Datapower gatewayscriptdW:IBM Datapower 网关脚本
【发布时间】:2016-11-30 17:58:06
【问题描述】:

我是 Datapower 网关脚本的新手。在我的脚本中,我尝试获取上下文变量的值,例如 var://context/WSM/identity/credentials。

我尝试类似:

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

但我总是有“未定义”的响应。

我的问题是如何从网关脚本访问上下文变量?在全球范围内,这些是获取用户 crenter code hereedentials 的正确方法还是有其他方法?

感谢您的帮助。

【问题讨论】:

    标签: ibm-datapower ecma


    【解决方案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');
    

    【讨论】:

    • 嗨 Anders,IBM 文档说:使用服务元数据模块访问服务变量而不是上下文变量!
    • 嗨 Anders,我有处理错误:服务变量名称不正确
    • 尝试读取var的全部内容:session.ctx.readAsBuffer(function (error, buffer) {...});
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多