Передача XmlBean.XmlObject в MessageDrivenBean

У меня есть процесс из Weblogic 10.3, который принимает XmlObject, записывает некоторые значения из этого XmlObject в таблицу, а затем передает этот XML в очередь JMS.

public void clientRequest(org.apache.xmlbeans.XmlObject x0) {
   this.newMail = x0;
}

Получив xml, я затем анализирую его, чтобы получить значения данных, прошел процесс создания нового документа и заполнил новый weblogic.jms.extensions.XMLMessage этим документом для отправки в очередь.

XMLmsg = qcon2.createXMLMessage();
..
Create Document elements
..
..
..
XMLmsg.setDocument(doc);
qsender.send(XMLmsg);

Мой вопрос: почему я не могу просто передать xmlbeans.XmlObject напрямую в JMSQueue? Или, по крайней мере, извлеките Документ из входящего XML, затем поместите его во вновь созданный файл weblogic.jms.extensions.XMLMessage, чтобы его можно было передать в очередь.

Я пробовал что-то в этом роде, но все, что я получаю обратно, это java.lang.NullPointerException

Document doc = (Document) newMail.getDomNode();

Тем не менее, это, вероятно, связано с тем, что следующий случай никогда не будет правдой... какие-нибудь идеи? Какова лучшая практика здесь? Спасибо

node.getNodeType() == node.DOCUMENT_TYPE_NODE

1 ответ

Решение

Хотя, возможно, это не лучшая практика, я просто устанавливаю текст сообщения XML на входящий XML.

XMLmsg.setText(newMail.toString());
qsender.send(XMLmsg);

Другим решением было бы сделать перевод XML и сохранить их в переменных. Хотя у моего процесса не было причин.

Другие вопросы по тегам