2012-05-08 95 views
0

我想重用DefautMessage类来将主体发送到seda componnet。 我的消息类在下面给出,没有实现。通过扩展DefaultMessage创建一个类

public class TestMessage extends DefaultMessage{ 
} 

然后我accesing它作为

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

但运行应用程序时,我得到以下异常:

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

我没有包装任何骆驼。当我只是将文档传递给路由时,它工作正常。当我将请求文档包装到默认邮件正文中时,此异常即将到来。 –