WSO2 ESB从属性或XPath表达式中输出地址
我有开发和生产部分的配置。本节包含后端的URL。在我的顺序,我需要它调用到这些后端几次每个请求WSO2 ESB从属性或XPath表达式中输出地址,wso2,wso2esb,Wso2,Wso2esb,我有开发和生产部分的配置。本节包含后端的URL。在我的顺序,我需要它调用到这些后端几次每个请求 <config> <env>prod</env> <backend env="prod">http://localhost:1234/</backend> <backend env="dev">http://localhost:2345/</backend> </config> 戳 http://
<config>
<env>prod</env>
<backend env="prod">http://localhost:1234/</backend>
<backend env="dev">http://localhost:2345/</backend>
</config>
戳
http://localhost:1234/
http://localhost:2345/
我从本地条目(作为XML)读取此配置,并希望将Callout的URL设置为属性。
我不想用“Switch”语句在代码中硬编码这些后端,因为可以使用两个以上的环境。
你能给我举个例子吗
谢谢。您可以在注册表中读取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>
然后您可以通过如下方式记录来查看值:
<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>
我找到了答案。根据调出调解人的来源:
如果未指定URL,则使用“To”标题 我已经了解了如何读取此类配置(我使用本地条目)。我的问题是如何使用这些值作为Callout mediator的URL。在我看来,Callout像读取普通字符串一样读取URL参数,并且不进行任何XPath转换(因此不可能将其设置为“get property”表达式)