我在Weblogic 10.3中有一个Process,它接受一个XmlObject,将一些XmlObject中的值写入一个表,然后将该xml传递给一个JMS队列。
public void clientRequest(org.apache.xmlbeans.XmlObject x0) {
this.newMail = x0;
}
一旦我收到xml,我就会解析它以获取数据值,完成创建新Document的动作并用该文档填充新的weblogic.jms.extensions.XMLMessage以发送到队列。
XMLmsg = qcon2.createXMLMessage();
..
Create Document elements
..
..
..
XMLmsg.setDocument(doc);
qsender.send(XMLmsg);
我的问题是,为什么我不能直接将xmlbeans.XmlObject传递给JMSQueue?或者至少从传入的XML中提取Document,然后将其放入新创建的weblogic.jms.extensions.XMLMessage中,以便将其传递到队列中。
我尝试过这种性质的东西,但我得到的只是java.lang.NullPointerException
Document doc = (Document) newMail.getDomNode();
然而,它可能与以下情况有关,从来没有真实......任何想法?这里的最佳做法是什么?感谢
node.getNodeType() == node.DOCUMENT_TYPE_NODE
答案 0 :(得分:0)
尽管可能不是最佳实践,但我只是将XML消息的文本设置为传入的XML。
XMLmsg.setText(newMail.toString());
qsender.send(XMLmsg);
另一种解决方案是进行XML转换并将其存储到变量中。虽然我的过程没有理由。