这是场景: - 三个序列:s1,s2,s3 - 存储在注册表(localEntry)中的一个变量设置为1 - 获取带有concat的seqName - 尝试使用get-property
调用序列到目前为止我做了什么:
1)提取值
MyClass.prototype.foo = function(){
var arr = [1, 2, 3];
var myCurrentInstance = this; //Store temporary reference
arr.forEach(function(element){
//Here it works because I use the temporary reference
myCurrentInstance.elements.push(element);
});
}
2)Concat
<property name="getSequence" expression="get-property('registry','conf:repository/myVersion2.xml')" scope="default" type="OM"/>
<log level="custom">
<property name="TestVersion::localEntry" expression="$ctx:getSequence//localEntry"/>
</log>
3)调用序列
<property name="seqName"
expression="concat('s', $ctx:getSequence//localEntry)"
scope="default"
type="STRING"/>
4)执行测试
5)获取错误:
<sequence key="get-property('seqName')"/>
所以问题似乎是“seqName”中存储的信息如何被序列读取为序列名而不是字符串。
我也试过
TID: [0] [ESB] [2015-07-08 10:27:36,325] INFO {org.apache.synapse.mediators.builtin.LogMediator} - TestVersion::info = setting property {org.apache.synapse.mediators.builtin.LogMediator}
TID: [0] [ESB] [2015-07-08 10:27:36,327] INFO {org.apache.synapse.mediators.builtin.LogMediator} - TestVersion::localEntry = 1 {org.apache.synapse.mediators.builtin.LogMediator}
TID: [0] [ESB] [2015-07-08 10:27:36,327] INFO {org.apache.synapse.mediators.builtin.LogMediator} - TestVersion::Sequence = s1 {org.apache.synapse.mediators.builtin.LogMediator}
TID: [0] [ESB] [2015-07-08 10:27:36,327] INFO {org.apache.synapse.mediators.builtin.LogMediator} - TestVersion::info = filter1 {org.apache.synapse.mediators.builtin.LogMediator}
TID: [0] [ESB] [2015-07-08 10:27:36,327] INFO {org.apache.synapse.mediators.builtin.LogMediator} - TestVersion::info = LOG_S1_TRUE {org.apache.synapse.mediators.builtin.LogMediator}
TID: [0] [ESB] [2015-07-08 10:27:36,329] ERROR {org.apache.synapse.mediators.base.SequenceMediator} - Sequence named Value {name ='null', keyValue ='get-property('seqName')'} cannot be found {org.apache.synapse.mediators.base.SequenceMediator}
但这也行不通......
提前谢谢。
克劳迪奥
答案 0 :(得分:0)
固定!
<sequence xmlns:local="ws.apache.org/ns/synapse" key="{get-property('seqName')}"/>
感谢大家!
此致 克劳迪奥