我正在使用Apache Camel从Oracle AQ读取消息。我正在使用Camel version 2.19.0
,Spring 4
以及骆驼路由的XML配置。在运行应用程序时,我得到“从type:java.lang.String转换为所需类型时的错误:org.w3c.dom.Document with value ??? due org.xml.sax.SAXParseException”。有人可以让我知道可能是什么问题,以及如何解决它在XML骆驼配置。Camel AQ路由错误Xpath中的TypeConversionException
这里是相关的XML内容。
<camelContext id="moveId" shutdownRunningTask="CompleteCurrentTaskOnly" xmlns="http://camel.apache.org/schema/spring" xmlns:dret="http://mycompany.com/data/user">
<route id="dataRoute" errorHandlerRef="transactionErrorHandler">
<from uri="myAQ:MYDB.AQ_MYQ_Q"/>
<setHeader headerName="userId">
<xpath resultType="java.lang.String">//dret:userId</xpath>
</setHeader>
<policy ref="PROPAGATION_REQUIRED_MY_AQ">
<process ref="myEventProcessor"/>
</policy>
</route>
下面是堆栈跟踪。
org.apache.camel.TypeConversionException:java.lang.String中所要求的类型:从类型类型转换 期间出错org.w3c.dom.Document中 与值???由于org.xml.sax.SAXParseException; lineNumber:1; columnNumber:1;序言中不能有内容。 at org.apache.camel.impl.converter.BaseTypeConverterRegistry.createTypeConversionException(BaseTypeConverterRegistry.java:629) at org.apache.camel.impl.converter.BaseTypeConverterRegistry.convertTo(BaseTypeConverterRegistry.java:150) at org.apache。 camel.builder.xml.XPathBuilder.doGetDocument(XPathBuilder.java:1144) at org.apache.camel.builder.xml.XPathBuilder.getDocument(XPathBuilder.java:1123) at org.apache.camel.builder.xml。 XPathBuilder.doInEvaluateAs(XPathBuilder.java:915) at org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:809) at org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder。 java:779) at org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder。 java:167)
添加您的xml文件 –
添加了XML片段。问题在于使用XPATH设置标题。 – user7615505