【发布时间】:2015-07-03 20:26:15
【问题描述】:
我正在配置代理服务,我有三个序列:s1,s2,s3
1,2,3 的值存储在本地注册表变量中,它从注册表中获取并存储在名为“myProp”的属性中
现在,根据这个 myProp 的值,我想调用三个序列之一。
我试过了:
<sequence key="s{concat(get-property('myProp'))}"/>
但不起作用。
这是房源代码:
<property name="myProp"
expression="get-property('registry','conf:repository/myVersion2.xml')"
scope="default"
type="STRING"/>
这就是我想要做的:
<filter source="get-property('myProp')"
regex=".*>1<.*"
description="filter">
<then>
<log level="custom" separator=":">
<property name="TestVersion" value="LOG_S1_TRUE"/>
<property name="TestVersion" expression="get-property('myProp')"/>
</log>
<sequence key="s{concat(get-property('myProp'))}"/>
</then>
<else>
<log level="custom" separator=":">
<property name="TestVersion" value="LOG_S1_FALSE"/>
</log>
</else>
</filter>
我从日志中得到这个错误:
TID: [0] [ESB] [2015-07-03 12:47:25,340] ERROR {org.apache.synapse.mediators.base.SequenceMediator} - Sequence named Value {name ='null', keyValue ='s{concat(get-property('myProp'))}'} cannot be found {org.apache.synapse.mediators.base.SequenceMediator}
提前感谢知道如何解决它的人。
问候 克劳迪奥
【问题讨论】: