首页 文章

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

提问于
浏览
4

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

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

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

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

非常感谢 .

2 回答

  • 3

    您可以查看此文章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

  • 0

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

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

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

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

    希望这可以帮助 .

    欢呼,查理

相关问题