Согласно документации 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?