WSO2 ESB 如何设置来自 localentry 的输入消息?
WSO2 ESB How can I set input message from localentry?
我想在 WSO2 ESB 配置中创建输入消息。
我怎样才能做到这一点?
例如:可以从localentry.
获取
<localEntry key="x">
<a>
<b>123</b>
</a>
</localEntry>
我想将此 XML 作为输入消息复制到 inSequence
。
谢谢
您可以通过使用 Class Mediator
. So in the referenced custom class you develop for your mediator you can retrieve your local entry and set the payload to its value. Here 来实现这一目标是 Ratha 关于从 class 中检索注册表资源的教程。以及来自同一页面的一些代码:
// if localentry "testLocalentry" defined in synapse econfig
Entry localEntryObj = (Entry) synapseMsgContext.getConfiguration()
.getLocalRegistry().get("testLocalentry");
System.out.println(" value: " + localEntryObj.getValue());
System.out.println(" Filename : " + localEntryObj.getFileName());
可能还有其他方法。也许用 Groovy 做一个 Script Mediator
并尝试看看你是否可以用同样的方式检索条目。之后设置有效载荷将是一次调用:
mc.setPayloadXML(yourXmlStringWithValueOfLocalEntry);
根据您的要求,您需要使用本地入口向ESB 中注入消息,但不需要向ESB 发送请求。对于这种用例,您可以使用 WSO2 ESB 的计划任务 [1] 功能。在那里您可以指定一个序列以定期执行。在该序列中,您可以从本地条目读取消息并使用 enrich mediator[2] 注入到消息正文中。
[1]https://docs.wso2.com/display/ESB481/Adding+and+Scheduling+Tasks
[2]https://docs.wso2.com/display/ESB481/Enrich+Mediator
我想在 WSO2 ESB 配置中创建输入消息。 我怎样才能做到这一点? 例如:可以从localentry.
获取<localEntry key="x">
<a>
<b>123</b>
</a>
</localEntry>
我想将此 XML 作为输入消息复制到 inSequence
。
谢谢
您可以通过使用 Class Mediator
. So in the referenced custom class you develop for your mediator you can retrieve your local entry and set the payload to its value. Here 来实现这一目标是 Ratha 关于从 class 中检索注册表资源的教程。以及来自同一页面的一些代码:
// if localentry "testLocalentry" defined in synapse econfig
Entry localEntryObj = (Entry) synapseMsgContext.getConfiguration()
.getLocalRegistry().get("testLocalentry");
System.out.println(" value: " + localEntryObj.getValue());
System.out.println(" Filename : " + localEntryObj.getFileName());
可能还有其他方法。也许用 Groovy 做一个 Script Mediator
并尝试看看你是否可以用同样的方式检索条目。之后设置有效载荷将是一次调用:
mc.setPayloadXML(yourXmlStringWithValueOfLocalEntry);
根据您的要求,您需要使用本地入口向ESB 中注入消息,但不需要向ESB 发送请求。对于这种用例,您可以使用 WSO2 ESB 的计划任务 [1] 功能。在那里您可以指定一个序列以定期执行。在该序列中,您可以从本地条目读取消息并使用 enrich mediator[2] 注入到消息正文中。
[1]https://docs.wso2.com/display/ESB481/Adding+and+Scheduling+Tasks [2]https://docs.wso2.com/display/ESB481/Enrich+Mediator