我喜欢为WSO2 ESB编写自定义中介。 我找到了一些教程,但我没有在WSO2 ESB中使用它。我想我可能在Class Mediator所需的路径上有一个错误,但让我解释一下:
为了编写这个Mediator,我使用WSO2开发人员Studio for Eclipse Juno。
在那里,我使用以下内容创建了一个名为“b64writer”的新ESB Mediator项目:
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 Application Project,并在“Dependencies”上选择了Mediator。这个配置是:
我使用右侧的按钮创建档案。这个档案我复制到“C:\ wso2esb \ repository \ carbonapps \ 0”。
现在我的问题是:我如何使用这个Mediator? 它应该像这样工作:
<class name="org.wso2.carbon.B64Mediator" />
但事实并非如此。 WSO2 ESB无法找到该课程。哪里是我的错?
答案 0 :(得分:1)
好的,我和你有同样的问题,我设法通过使用eclipse的WSO2 Developer Studio插件来创建中介库来添加中介。 (打开新的向导框,然后选择WSO2 / Extensions / Project Types / Mediator Project)
然后创建您的介体或放入项目,并将其作为jar文件导出到/ repository / components / lib文件夹。每次更新jar时都必须重新启动ESB,或者在添加jar时运行ESB。
我希望这会有所帮助。
答案 1 :(得分:0)
将存档放在repository/components/dropins
或repository/components/lib (if you don't build it as an osgi bundle)
目录中。
答案 2 :(得分:0)
您应该将类调解器部署为java Library工件,并从类Mediators中引用它们。也就是说,你从开发工作室那里得到了jar,并保留在repository / components / lib文件夹中并重新启动服务器。 请参考;
<class name="org.wso2.carbon.B64Mediator" />
来自你的序列
答案 3 :(得分:0)
我不知道你是否解决了问题。我有同样的问题,但我可以解决它。
我使用WSO2 Developer Studio&#34; Mediator Project&#34;创建了我的中介。在Eclipse Kepler中。接下来,我导出到Java / JAR文件,右键单击我的项目并选择&#34;导出生成的类文件和资源&#34;在属性中。
您必须将JAR文件放入repository / components / lib文件夹并重新启动ESB