2012-05-08 4 views
0

Я пытаюсь повторно использовать класс DefautMessage для отправки тела в comnet componentnet. Мой класс сообщений приведен ниже, без реализации.Создание класса путем расширения DefaultMessage

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: [email protected] [Document: name testDocument] of type: com.test.TestMessage on: Message: Message: [email protected] [Document: name testDocument] 

Что случилось с моей реализацией?

ответ

0

Как правило, вам не нужно определять свой собственный класс сообщений. Просто используйте DefaultMessage для верблюда и установите необходимый вам корпус и заголовки. Есть ли особая причина, по которой вы пытались расширить DefaultMessage?

0

Я думаю, что вы обернуть неправильный объект Его ожидает org.dom4j.Document, но он получил org.dom4j.tree.DefaultDocument

Что такое тип документа ??

+0

Я ничего не делаю для верблюда. Когда я просто передаю документ на маршрут, он отлично работает. Это исключение приходит, когда я завершаю запрос doc в тело сообщения по умолчанию. –

Смежные вопросы