我是 Enterprise Integrator 的新手,所以我可能会遇到误解问题。我已经在 Linux 机器上安装了 WSO2 EI 6.1.1。我为一个非常简单的基于表单的 Web 应用程序创建了一个直通代理,它运行良好。
我想通过预先验证对外部服务器的休息请求来过滤对它的访问。此外部请求的 JSON 结果应包含特定值 fe {"valid":"yes"}
。
我创建了一个可以进行此调用的 Java 类(目前只是静态分配值并将其加载到变量中):
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 类中获得的值来设置该属性?