キューからメッセージをルーティングしています-> xslt を使用して変換し、別のキューであるログに転送しています。
私のキャメルの設定は次のとおりです。
<camelContext xmlns="http://camel.apache.org/schema/spring"
streamCache="true">
<route>
<from uri="jms:queue:TradeEventsToESBQueue" />
<multicast>
<to uri="xslt:com/tpt/esb/tradeevent/confirmation.xsl" />
<to uri="xslt:com/tpt/esb/tradeevent/valuation.xsl" />
</multicast>
</route>
<route>
<from uri="xslt:com/tpt/esb/tradeevent/confirmation.xsl" />
<to uri="log:output?showAll=true" />
</route>
<route>
<from uri="xslt:com/tpt/esb/tradeevent/valuation.xsl" />
<to uri="jms:queue:TradeValuationStartQueue1?jmsMessageType=Text" />
<to uri="log:output?showAll=true" />
</route>
</camelContext>
プログラムを実行すると、次のエラーが発生します。
原因: org.apache.camel.ExpectedBodyTypeException: IN メッセージ本文をタイプとして抽出できませんでした: interface javax.xml.transform.Source 本文は: org.apache.camel.builder.xml.XsltBuilder.getSource(XsltBuilder.java で null :482)[64:org.apache.camel.camel-core:2.10.1] org.apache.camel.builder.xml.XsltBuilder.process(XsltBuilder.java:125)[64:org.apache.camel. camel-core:2.10.1] org.apache.camel.impl.ProcessorPollingConsumer.receive(ProcessorPollingConsumer.java:58) [64:org.apache.camel.camel-core:2.10.1] で
この問題の原因は何ですか?