WSO2 Enterprise Integrator ESB: есть ли способ выполнить итерацию N раз - PullRequest
1 голос
/ 29 января 2020

У меня есть требование получать данные из службы, которая занимает несколько страниц. Пусть число страниц будет называться N.

Есть ли способ выполнить итерацию N раз или пока условие не будет выполнено в WSO ESB и вызывать последовательность во время каждой итерации?

Кажется, что итераторы Iterator и Foreach выполняют итерацию в соответствии с выражением XPath, которое относится к сообщению.

Я попробовал следующие

<iterate expression="get-property('page_number') &lt; 10" id="iterid" 
xmlns:env="http://schemas.xmlsoap.org/soap/envelope/">
<target>
    <sequence>
        <log description="log">
            <property name="ola" value="OOOLLLAAA"/>
        </log>
    </sequence>         
</target>
</iterate>

IT-результаты в следующей ошибке.

[2020-01-29 12:46:41,709] ERROR {org.apache.synapse.util.xpath.SynapseXPath} - Evaluation of the XPath expression get-property('page_number') < 10 resulted in an error org.jaxen.UnresolvableException: No Such Function get-property
at org.jaxen.SimpleFunctionContext.getFunction(SimpleFunctionContext.java:127)
at org.jaxen.ContextSupport.getFunction(ContextSupport.java:242)
at org.jaxen.Context.getFunction(Context.java:216)

1 Ответ

0 голосов
/ 29 января 2020

Вы можете использовать следующий пример при реализации l oop. http://bsenduran.blogspot.com/2017/08/while-loop-in-wso2-esb.html

...