将XmlBean.XmlObject传递给MessageDrivenBean

时间:2011-10-05 16:06:22

标签: dom weblogic-10.x xmlbeans message-driven-bean weblogic-integration

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

1 个答案:

答案 0 :(得分:0)

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

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

另一种解决方案是进行XML转换并将其存储到变量中。虽然我的过程没有理由。