我正在尝试重用DefautMessage类将主体发送到seda组件。 我的消息类在下面给出,没有实现。
public class TestMessage extends DefaultMessage{
}
然后我将其作为
进行访问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: org.dom4j.tree.DefaultDocument@122bfd6 [Document: name testDocument] of type: com.test.TestMessage on: Message: Message: org.dom4j.tree.DefaultDocument@122bfd6 [Document: name testDocument]
我的实施有什么问题?
答案 0 :(得分:0)
我认为你包装了错误的对象 它期待org.dom4j.Document但是得到了org.dom4j.tree.DefaultDocument
什么是doc type ??
答案 1 :(得分:0)
通常,您不需要定义自己的消息类。只需使用camel的DefaultMessage并设置所需的正文和标题。您尝试扩展DefaultMessage有特殊原因吗?