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

Proxy WSO2 ESB-代理参数的动态值(传输),proxy,wso2,mediator,synapse,wso2esb,Proxy,Wso2,Mediator,Synapse,Wso2esb,我需要能够为代理参数指定一个动态值。实际上,我必须用完整的URL指定每个参数,如: <parameter name="transport.vfs.FileNamePattern">.*.txt</parameter> *.txt 我看到一些带有属性中介的示例,我想它适用于下一个代理,但这里的问题是我需要在执行代理之前更改代理参数值。我尝试使用一个“触发器”代理调用一个自定义中介,该中介会更改所需代理的SynapseConfiguration,但这不起作用 有没有办法用

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

<parameter name="transport.vfs.FileNamePattern">.*.txt</parameter>
*.txt
我看到一些带有属性中介的示例,我想它适用于下一个代理,但这里的问题是我需要在执行代理之前更改代理参数值。我尝试使用一个“触发器”代理调用一个自定义中介,该中介会更改所需代理的SynapseConfiguration,但这不起作用

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


非常感谢。

您可以查看这篇文章,了解如何在代理序列中动态设置值的示例

您可以这样做:

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

mc.getProperty(“我的动态值”)
我不确定这会对您有多大帮助,因为我怀疑vfs参数是在初始化代理时设置的,而不是动态设置的。如果你给它一个尝试,如果可能的话,请发回这个线程,如果它的工作与否


关于,nidkil

代理服务定义中的参数是Axis2服务配置中的服务级别参数。在初始化Axis2服务时使用它们,在本例中是Synapse/WSO2 ESB代理服务。因此,您不能动态更改参数

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

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

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

希望这有帮助

干杯,
查里斯

谢谢你的回答。我已经测试过了,但不起作用。脚本中介示例正在访问以前使用属性中介定义的属性。奇怪的是,没有任何功能可以轻松创建动态配置。您好,Loïct此答案不起作用-参数将设置为完整谢谢您的回答。我尝试使用自定义中介(始终运行)执行“触发器”代理,以更改其他代理的配置。类似这样的内容:
ProxyService proxy=mc.getConfiguration().getProxyService(proxyName);映射参数=proxy.getParameterMap();if(proxy.isRunning()){proxy.stop(mc.getConfiguration());}proxy.getParameterMap().put(“transport.vfs.FileURI”,”);start(mc.getConfiguration())显然代理正在停止并重新启动,但没有进行修改(不知道为什么)。这可能是一个解决办法吗?你好,Loïc