Wso2 Enterprise Integrator 中介过滤器和外部资源

Wso2 Enterprise Integrator mediator filter and external sources

我是 Enterprise Integrator 的新手,所以我可能遇到了误解问题。我已经在 Linux 盒子上安装了 WSO2 EI 6.1.1。我已经为一个非常简单的基于表单的 Web 应用程序创建了一个直通代理,它运行良好。

我想通过预先验证对外部服务器的休息请求来过滤对它的访问。此外部请求的 JSON 结果应包含特定值 f.e。 {"valid":"yes"}.

我创建了一个 Java class taht 可以进行此调用(目前只是静态分配值并将其加载到变量中):

public class validate extends AbstractMediator { 
    private String validated = "yes";

    public boolean mediate(MessageContext context) { 
        System.out.println("Validating Access!!!!");
        System.out.println("Validated: " + validated);

        return true;
    }

    public String getValidated() {
        return validated;
    }

    public void setValidated(String validated) {
        this.validated = validated;
    }

我没看错运行。

作为第二步,我创建了一个中介过滤器,目的是评估这个值。我已经用始终正确的 xpath 表达式测试了这个调解器 1 > 0 我发现 then 和 else 子句工作正常。

我无法检查过滤器中介中第一个中介中获得的值。我怎样才能做到这一点?我错过了什么?

更新:

我发现解决问题的明显方法是定义一个 属性 中介来存储值。我已经设法使用 属性 在过滤器中做出决定,但是,我如何将 属性 设置为 Java class?[=13 中获得的值=]

您只需在 java class 中添加这一行:mc.setProperty("MyPropertyName", myValue);

在调解中,使用 get-属性("MyPropertyName");