2012-05-08 6 views
0

DefautMessageクラスを再利用してbodyをseda componnetに送信しようとしています。 私のメッセージクラスは実装なしで以下に与えられています。その後DefaultMessageを拡張してクラスを作成する

public class TestMessage extends DefaultMessage{ 
} 

私は

TestMessage msg = new TestMessage(); 
      msg.setBody(doc); 
      getCamelContext().createProducerTemplate().sendBody("seda:inputDoc",msg); 

としてそれをaccesingていますが、アプリケーションを実行している間、私は次の例外になっています:

Caused by: org.apache.camel.InvalidPayloadException: No body available of type: org.dom4j.Document but has value: Message: [email protected] [Document: name testDocument] of type: com.test.TestMessage on: Message: Message: [email protected] [Document: name testDocument] 

私の実装の何が問題になっているの?

答えて

0

通常、独自のメッセージクラスを定義する必要はありません。 camelのDefaultMessageを使用して、必要な本文とヘッダーを設定するだけです。 DefaultMessageを拡張しようとする特別な理由はありますか?

0

は、私はあなたが その期待org.dom4j.Document間違ったオブジェクトをラップと思いますが、それは

ドキュメントの種類は何ですかorg.dom4j.tree.DefaultDocument

ました??

+0

私はラクダのために何もラッピングしていません。私はちょうどそれが正常に動作するルートにドキュメントを渡すとき。この例外は、リクエストメッセージをデフォルトのメッセージ本文にラップするときに発生します。 –

関連する問題