WSO2 ESB - 代理参数的动态值(传输)

时间:2012-06-20 15:40:44

标签: proxy wso2 mediator synapse wso2esb

我需要能够为代理参数指定动态值。实际上,我必须使用完整的URL指定每个参数,如:

<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>

我看到一些带有属性调解器的示例,我猜它适用于下一个代理,但问题是我需要在执行之前更改代理参数值。我尝试使用“触发器”代理调用自定义调解器来更改所需代理的SynapseConfiguration,但这不起作用。

有没有办法用查找替换这些固定值来创建一些部署配置?

非常感谢。

2 个答案:

答案 0 :(得分:2)

您可以查看此帖子How to dynamically route message in WSO2 ESB based on XML configuration file,了解如何在代理序列中动态设置值的示例。

你可以这样做:

<parameter name="transport.vfs.FileNamePattern">
    <script language="js">mc.getProperty('MY_DYNAMIC_VALUE')</script>
</parameter>

我不确定这对你有多大帮助,因为我怀疑在初始化代理时设置vfs参数而不是动态。如果您尝试一下,如果可能的话,请回复此主题是否有效。

问候,nidkil

答案 1 :(得分:0)

代理服务定义中的参数是Axis2Service配置中的服务级别参数。在初始化Axis2Service时使用它们,在这种情况下是Synapse / WSO2 ESB代理服务。因此,您无法动态更改参数。

但我可以建议以下方法。它可能适用于您的方案,也可能不适用。

有一组侦听不同位置的VFS代理。每个都会看一个给文件扩展名。 (一个用于.txt一个用于.foo等。)

使用另一个通用vfs代理将文件动态复制到正确的位置(接受任何扩展名)。(您可以使用vfs sender)。

希望这会有所帮助。

欢呼声, 查理