Использование XML DSL-маршрута с camel-spring-boot: неправильное объявление пространства имен xmlns - PullRequest
0 голосов
/ 14 декабря 2018

Согласно документации http://camel.apache.org/spring-boot.html, мы можем использовать XML DSL-маршрут с spring-boot.

Когда я использую xquery в качестве конечной точки с синтаксисом <to uri="xquery:xquery/test.xq />, тогда он работает, но с синтаксисом, как показано ниже,

<transform>
    <xquery>resource:test.xq</xquery>
</transform>

или встроенное преобразование xquery:

<transform>
    <xquery>concat('hello', 'world')</xquery>
</transform>

Затем я получаю сообщение об ошибке:

org.apache.camel.RuntimeExpressionException: java.lang.IllegalArgumentException: неправильное объявление пространства имен xmlns в org.apache.camel.component.xquery.XQueryBuilder.evate (XQueryBuilder.java:155) ~ [camel-saxon-2.22.1.jar: 2.22.1] в org.apache.camel.component.xquery.XQueryBuilder.evaluate (XQueryBuilder.java:120) ~ [camel-saxon-2.22.1.jar: 2.22.1] в org.apache.camel.processor.TransformProcessor.process (TransformProcessor.java:50) ~ [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.processor.RedeliveryErrorHandler.process (RedeliveryErrorHandler.java:548) ~ [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.processor.CamelInternalProcessor.process (CamelInternalProcessor.java:201) [пришел-core-2.22.1.jar: 2.22.1] at org.apache.camel.processor.Pipeline.process (Pipeline.java: 138) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.processor.Pipeline.process (Pipeline.java:101) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.processor.CamelInternalProcessor.process (CamelInternalProcessor.java:201) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.component.file.GenericFileConsumer.processExchange(GenericFileConsumer.java:454) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.component.file.GenericFileConsumer.processBatch (GenericFileConsumer.java:223) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.component.file.GenericFileConsumer.poll (GenericFileConsumer.java:187) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.impl.ScheduledPollConsumer.doRun (ScheduledPollConsumer.java:174) [camel-core-2.22.1.jar: 2.22.1] в org.apache.camel.impl.ScheduledPollConsumer.run (ScheduledPollConsumer.java:101) [camel-core-2.22.1.jar: 2.22.1] на java.util.concurrent.Executors $ RunnableAdapter.call (Executors.java:511) [na: 1.8.0_102] на java.util.concurrent.FutureTask.runAndReset (FutureTask.java:308) [na: 1.8.0_102] в java.util.concurrent.ScheduledThreadPoolExecutor $ ScheduledFutureTask.access $ 301 (ScheduledThreadPoolExecutor.java:180) [na: 1.8.0_102] в javaThutorc.$ ScheduledFutureTask.run (ScheduledThreadPoolExecutor.java:294) [na: 1.8.0_102] в java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142) [na: 1.8.0_102] в java.Execoc.$ Worker.run (ThreadPoolExecutor.java:617) [na: 1.8.0_102] в java.lang.Thread.run (Thread.java:745) [na: 1.8.0_102] Причина: java.lang.IllegalArgumentException: неправильная декларацияпространства имен xmlns в net.sf.saxon.query.StaticQueryContext.declareNamespace (StaticQueryContext.java:719) ~ [Saxon-HE-9.8.0-12.jar: na] в org.apache.camel.component.xquery.XQueryBuilder.initialize (XQueryBuilder.java:721) ~ [camel-saxon-2.22.1.jar: 2.22.1] в org.apache.camel.component.xquery.XQueryBuilder.evaluateAsString (XQueryBuilder.java:208) ~ [camel-саксонский-2.22.1.jar: 2.22.1]at org.apache.camel.component.xquery.XQueryBuilder.evaluate (XQueryBuilder.java:130) ~ [camel-saxon-2.22.1.jar: 2.22.1] ... опущено 19 общих фреймов

Я протестировал синтаксис с примером проекта https://github.com/apache/camel/tree/master/examples/camel-example-spring, и он работает, так что, возможно, что-то не так с компонентом camel-spring-boot?

1 Ответ

0 голосов
/ 17 декабря 2018

Был зарегистрирован тикет об этой проблеме https://issues.apache.org/jira/browse/CAMEL-12994

И проблема / ошибка теперь исправлена ​​в Apache Camel.

В качестве обходного пути вам нужно либо понизить версию Camel / Saxon допредыдущая версия, которая работает.Или дождитесь следующего релиза, в котором есть исправление.В билете JIRA указаны фиксированные номера версий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...