【问题标题】:Wso2 - call sequence with get-propertyWso2 - 带有 get-property 的调用序列
【发布时间】:2015-09-26 01:14:47
【问题描述】:

这是场景: - 三个序列:s1、s2、s3 - 存储在注册表中的一个变量 (localEntry) 设置为 1 - 使用 concat 获取 seqName - 尝试使用 get-property 调用序列

到目前为止我做了什么:

1) 提取值

    <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>

2) 连接

     <property name="seqName"
               expression="concat('s', $ctx:getSequence//localEntry)"
               scope="default"
               type="STRING"/>

3) 调用序列

           <sequence key="get-property('seqName')"/>

4) 执行测试

5) 获取错误:

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}

所以问题似乎是存储在“seqName”中的信息如何被序列读取为序列名称而不是字符串。

我也试过了

           <sequence key="{get-property('seqName')}"/>

但这也行不通……

提前谢谢你。

克劳迪奥

【问题讨论】:

  • 你的结构有什么错误吗?在运行代码之前检查控制台。看看有没有错误发生。
  • 你是指 web esb 控制台吗?我应该检查什么?
  • 我的意思是,无论您在哪里编写了该代码。你用的是什么程序?
  • eclipse 如果我从设计切换到源代码,我没有收到任何错误

标签: properties wso2 sequence esb mediator


【解决方案1】:

已修复!

<sequence xmlns:local="ws.apache.org/ns/synapse" key="{get-property('seqName')}"/>

谢谢大家!

问候 克劳迪奥

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-17
    相关资源
    最近更新 更多