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

时间:2015-11-17 08:03:47

标签: wso2esb

我使用WSO2 Developer Studio创建了该项目。 在src/main/java下,我创建了包samples.mediators 在该包中,类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. 右键单击该项目,然后选择Export Project as Deployable Archive。

  2. 它创建了名为Unzip.jar

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

  5. 在synapse配置中,我像这样调用类

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

    但是当我尝试保存它时。它会产生以下错误:

      

    org.apache.axis2.AxisFault:在路径中找不到类samples.mediators.UnzipFileMediator

    我在这里做错了什么?

1 个答案:

答案 0 :(得分:4)

使用其他包名称

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

使用您的公司名称com.mycompany.mediators为您自己的班级选择正确的包(名称空间)。