Wso2 - последовательность вызовов с get-свойством

Это сценарий: - Три последовательности: s1, s2, s3 - Одна переменная, хранящаяся в реестре (localEntry), имеет значение 1 - Получить seqName с помощью concat - Попытаться вызвать последовательность с помощью свойства get

Что я сделал до сих пор:

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')}"/>

Но это тоже не работает ...

Заранее спасибо.

Клаудио


person ClaudioM    schedule 08.07.2015    source источник
comment
Могли ли вы ошибиться в своей структуре? Перед запуском кода проверьте консоль. Посмотрите, есть ли ошибка.   -  person Altay Mazlum    schedule 08.07.2015
comment
ты имеешь в виду веб-консоль esb? что я должен проверить?   -  person ClaudioM    schedule 08.07.2015
comment
Я имею в виду, где бы вы ни писали этот код. Какой программой пользовались?   -  person Altay Mazlum    schedule 08.07.2015
comment
eclipse, и если я переключусь с дизайна на исходный код, я не получу никаких ошибок   -  person ClaudioM    schedule 08.07.2015


Ответы (1)


Фиксированный!

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

Спасибо всем!

С уважением, Клаудио

person ClaudioM    schedule 08.07.2015