Передача 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 и сохранить их в переменных. Хотя у моего процесса не было причин.