Oracle AQからメッセージを読み取るのにApache Camelを使用しています。 Camel RoutesのXML設定でCamel version 2.19.0
,Spring 4
を使用しています。アプリケーションを実行しているときに、タイプ:java.lang.Stringから必要なタイプ:org.w3c.dom.Documentに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;コンテンツはプロローグで許可されていません。 (org.apache.camel.impl.converter.BaseTypeConverterRegistry.java:150) at org.apache。 camel.builder.xml.XPathBuilder.doGetDocument(XPathBuilder.java:1144) (org.apache.camel.builder.xml.XPathBuilder.getDocument(XPathBuilder.java:1123) 、org.apache.camel.builder.xml)。 XPathBuilder.doInEvaluateAs(XPathBuilder.java:915) (org.apache.camel.builder.xml.XPathBuilder.evaluateAs(XPathBuilder.java:809) 、org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder。 java:779) (org.apache.camel.builder.xml.XPathBuilder.evaluate(XPathBuilder。 java:167)
xmlファイルも追加 –
XMLスニペットが追加されました。問題は、XPATHを使用してヘッダを設定することです。 – user7615505