微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

在 WSO2 APIM 3.2.0 中添加 Global Mediation 扩展

如何解决在 WSO2 APIM 3.2.0 中添加 Global Mediation 扩展

我已根据文档配置了全局中介扩展。文件 global_ext.xml 放在 wso2am-3.2.0\repository\deployment\server\synapse-configs\default\sequences 下。

<sequence xmlns="http://ws.apache.org/ns/synapse" name="WSO2AM--Ext--In">
    <property name="token" expression="get-property('transport','Authorization')"/>
</sequence>
    public boolean handleRequest(MessageContext messageContext) {
        String accesstoken = (String) messageContext.getProperty("token");

但是,令牌属性在 MessageContext 属性中不可用。知道这里出了什么问题吗?或者如何在handler中获取token的值?

解决方法

如果 handleRequest(MessageContext messageContext) 方法是扩展 AbstractHandler (Writing Custom handlers) 的某个 CustomHandler 类,那么它不会像您期望的那样工作。 这是因为处理程序在序列之前运行。 WSO2 文档中描述了消息流:Message flow in the API Manager Gateway,看起来像这样: enter image description here

所以你可以在handler中设置一些属性并按顺序读取,其他方式不起作用。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。