Dom 将XmlBean.XmlObject传递给MessageDrivenBean

Dom 将XmlBean.XmlObject传递给MessageDrivenBean,dom,weblogic-10.x,xmlbeans,message-driven-bean,weblogic-integration,Dom,Weblogic 10.x,Xmlbeans,Message Driven Bean,Weblogic Integration,我在Weblogic 10.3中有一个进程,它接收一个XmlObject,将该XmlObject中的一些值写入一个表,然后将该xml传递给JMS队列 public void clientRequest(org.apache.xmlbeans.XmlObject x0) { this.newMail = x0; } 收到xml后,我对其进行解析以获得数据值,完成创建新文档的过程,并使用该文档填充新的weblogic.jms.extensions.XMLMessage以发送到队列 XMLms

我在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

虽然可能不是最佳实践,但我只是将XML消息的文本设置为传入的XML

XMLmsg.setText(newMail.toString());
qsender.send(XMLmsg);
另一个解决方案是进行XML转换并将其存储到变量中。虽然我的过程没有理由这么做