在路径中找不到 WSO2ESB 自定义中介 Java Class

WSO2ESB Custom Mediator Java Class is not found in the path

我使用 WSO2 Developer Studio 创建了项目。 在 src/main/java 下,我创建了包 samples.mediators 在那个包中 class UnzipFileMediator:

package samples.mediators;
import org.apache.synapse.MessageContext; 
import org.apache.synapse.mediators.AbstractMediator;

public class UnzipFileMediator extends AbstractMediator {
    public boolean mediate(MessageContext context) { 
        // TODO Implement your mediation logic here 
        System.out.println("UnzipFile Mediation entered");
        return true;
    }
}

要部署代码,请遵循以下说明:

  1. 右键单击该项目并select将项目导出为可部署存档。

  2. 它创建了名为 Unzip.jar

  3. 的 jar 文件
  4. 我将 Jar 文件部署到 <ESB_HOME>/repository/components/lib 目录.

在突触配置中,我这样调用 class

<class name="samples.mediators.UnzipFileMediator"></class>

但是当我尝试保存时 it.It 生成以下错误:

org.apache.axis2.AxisFault: Class samples.mediators.UnzipFileMediator not found in the path

我做错了什么?

使用不同的包名

因为命名空间(或包)samples.mediators 已被 WSO2 在不同的 jar 中使用。您现在已经部署了第二个具有相同包名的 jar,这些 类 将不会被 WSO2 在类路径中找到。

为您自己的 类 选择一个正确的包(命名空间),并使用您的公司名称,例如 com.mycompany.mediators