Как использовать в операторе верблюда простой xml DSL? - PullRequest
0 голосов
/ 24 января 2020

Я использую Camel 2.17.0. У меня есть необходимость использовать оператор в простом языке в проекте. xml файл как следующий

<choice id="_choice3"> <when id="_when3"> <simple>${header.STATUS} in 'Draft,Review'</simple> ...... Тем не менее, он не работает и выдает следующее исключение:

org. apache .camel.CamelExecutionException: исключение произошло во время выполнения на обмене: Exchange [ID-A5668784-61983-1579873128661-9-6] в орг. apache .camel.util.ObjectHelper.wrapCamelExecutionException (ObjectHelper. java: 1706) в орг. apache .camel.builder.SimpleBuilder.createPredicate (SimpleBuilder. java: 104) в орг. 1018 * .camel.builder.SimpleBuilder.matches (SimpleBuilder. java: 83)

Кстати, я давно использую условие выбора / когда. Тогда я попытался использовать || и / или оператор в следующем порядке:

<simple>(${header.STATUS.contains("Draft")} or ${header.STATUS.contains("Review")})</simple>
<simple>(${header.STATUS} contains 'Draft' || ${header.STATUS} contains 'Review')</simple>
<simple>(${header.STATUS} contains 'Draft' or ${header.STATUS} contains 'Review')</simple>

Во всех случаях выдается одно и то же исключение. Пожалуйста помоги. Заранее спасибо

1 Ответ

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

вы можете потерять эти лишние "()" (скобки) в конце. Не могли бы вы попробовать что-то вроде этого

<simple>${header.STATUS} contains'Draft' or ${header.STATUS} contains 'Review'</simple>

Я предполагаю, что вы устанавливаете значение Черновик (Строка) в Заголовке.

Надеюсь, это поможет. :)

...