WSO2班级调解员不起作用

时间:2016-07-14 04:29:43

标签: wso2 wso2esb wso2carbon

这是我第一次编写NTLM调解员,然后是NTLM Mediator

调解员项目:

project

导出Jar和[ESB_HOME] / repository / components / dropins

har

要测试的代理服务:

enter image description here

调解员似乎不起作用:

output

第73行抛出异常:

Code

3 个答案:

答案 0 :(得分:3)

您必须将jar放入lib($ ESB_HOME / repository / components / lib)。删除dropins中的jar。当ESB启动时,它会将该jar放入dropins文件夹中。试试吧。

如果不是,您可能需要添加文档[2]中给出的三个文件夹。

进一步参考:

[1] https://docs.wso2.com/display/ESB490/Class+Mediator

[2] https://docs.wso2.com/display/ESB490/Places+for+Putting+Custom+Mediators

答案 1 :(得分:0)

这个问题似乎与中介逻辑有关。由于没有ClassNotFound异常,因此中介似乎已正确部署。要找出错误,可以通过在调试模式下启动ESB服务器,将日志添加到介体或远程调试介体 (./wso2server.sh debug 5005)。您应该调试mediate()方法。由于在类中介的mediate()方法中抛出了一些异常,因此引发了错误。

答案 2 :(得分:0)

DilshaniS'答案是对的。您必须将mediator jar放在lib文件夹中(还需要删除dropins文件夹中的现有jar)。以下是原因。

WSO2产品只有在写入osgi组件时才能加载/激活放在dropins文件夹中的jar。在你的情况下,它只是一个罐子。 osgi包中不应该有任何类。如果它是普通jar,则必须将其放在repository / components / lib文件夹中。然后,当服务器启动时,它会从该jar创建一个osgi包并将其放在dropins文件夹中。然后,osgi包被激活,你可以使用它中的类。