这是我第一次编写NTLM调解员,然后是NTLM Mediator
调解员项目:
导出Jar和[ESB_HOME] / repository / components / dropins
要测试的代理服务:
调解员似乎不起作用:
第73行抛出异常:
答案 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包被激活,你可以使用它中的类。