来自Property或XPath-expression的WSO2 ESB Collout地址

时间:2014-04-21 18:27:43

标签: wso2 wso2esb

我有配置开发和生产部分。此部分包含后端的URL。在我的inSequence中,我需要在每次请求时多次调用这些后端。

<config>
 <env>prod</env>
 <backend env="prod">http://localhost:1234/</backend>
 <backend env="dev">http://localhost:2345/</backend>
</config>

我从Local Entry(作为XML)读取此配置,并希望将Callout的URL设置为Property。 我不想在我的代码中使用&#34; Switch&#34;对这些后端进行硬编码。声明,因为它可以使用两个以上的环境。 你能告诉我一个例子吗?

谢谢。

2 个答案:

答案 0 :(得分:1)

您可以在注册表中读取xml文件。只需定义OM类型的属性,如下所示:

<property name="test" expression="get-property('registry','conf:/test.xml')" scope="default" type="OM" />

然后您可以通过这样记录来查看值:

<log level="custom"> <property name="test.b" expression="$ctx:test//b" /> </log>

在您放入注册表根目录的xml文件中,您可以填写它:

<a>Hello<b>WSO2</b></a>

我是从link中学到的。

答案 1 :(得分:0)

我找到了答案。根据Callout调解员的来源:

CalloutMediator.java

它使用&#34; To&#34;如果未指定URL,则为标头。