2

我喜欢为 WSO2 ESB 编写一个自定义中介。我为此找到了一些教程,但我没有让它在 WSO2 ESB 中工作。我想我可能在 Class Mediator 所需的路径中有一个错误,但让我解释一下:

为了编写这个 Mediator,我使用了 WSO2 开发人员 Studio for Eclipse Juno。

在那里,我创建了一个名为“b64writer”的新 ESB 中介项目,其中包含以下内容:

package org.wso2.carbon;
import org.apache.synapse.MessageContext; 
import org.apache.synapse.mediators.AbstractMediator;
public class B64Mediator extends AbstractMediator { 
    public boolean mediate(MessageContext context) { 
        // TODO Implement your mediation logic here         
        String inhalt = context.getEnvelope().toString();
        trace.trace("Message: " + inhalt);
        return true;
    }
}

在下一步中,我创建了一个新的 Carbon 应用程序项目,在“Dependencies”中选择了 Mediator。对此的配置是:

  • 组 ID:org.wso2.carbon.b64mediator
  • 工件 ID:b64mediator
  • 版本:1.0.0

我使用右侧的按钮来创建档案。我将此存档复制到“C:\wso2esb\repository\carbonapps\0”。

现在我的问题是:我如何使用这个 Mediator?它应该像这样工作:

<class name="org.wso2.carbon.B64Mediator" />

但事实并非如此。WSO2 ESB 找不到类。我的错在哪里?

4

4 回答 4

1

好的,我遇到了和你一样的问题,我设法通过使用 Eclipse 的 WSO2 Developer Studio 插件来添加调解器来制作调解库。(调出新的向导框,选择 WSO2/Extensions/Project Types/Mediator Project)

然后创建你的中介或放入项目中,并将其作为 jar 文件导出到 /repository/components/lib 文件夹。每次更新 jar 或在添加 jar 时运行 ESB 时,都必须重新启动 ESB。

我希望这有帮助。

于 2013-07-31T19:55:41.140 回答
0

您应该将类​​调解器部署为 java 库工件并从类调解器中引用它们。也就是说,部署您从 dev studio 创建的 jar 并将 taht 保存在 repository/components/lib 文件夹中并重新启动服务器。然后参考喜欢;

<class name="org.wso2.carbon.B64Mediator" />

从你的序列

于 2013-06-12T17:44:18.730 回答
0

将存档放在repository/components/dropinsrepository/components/lib (if you don't build it as an osgi bundle)目录中。

于 2013-06-12T13:03:55.100 回答
0

不知道你的问题有没有解决。我有同样的问题,但我可以解决它。

我使用 Eclipse Kepler 中的 WSO2 Developer Studio“Mediator Project”创建了我的调解器。接下来我导出到 Java/JAR 文件,右键单击我的项目并在属性中选择“导出生成的类文件和资源”。

您必须将 JAR 文件放入 repository/components/lib 文件夹并重新启动 ESB

于 2015-09-23T09:48:08.997 回答