我有一个来自 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 中提取 Document,然后将其放入新创建的 weblogic.jms.extensions.XMLMessage 中,以便将其传递到队列中。
我已经尝试过这种性质的东西,但我得到的只是 java.lang.NullPointerException
Document doc = (Document) newMail.getDomNode();
但是,这可能与以下案例永远不真实有关……有什么想法吗?这里的最佳做法是什么?谢谢
node.getNodeType() == node.DOCUMENT_TYPE_NODE