0

XmlObject を取り込み、その XmlObject からいくつかの値をテーブルに書き込み、その xml を JMS キューに渡す Weblogic 10.3 内のプロセスがあります。

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
4

1 に答える 1

0

ベストプラクティスではないかもしれませんが、XMLメッセージのテキストを着信XMLに設定するだけです。

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

もう1つの解決策は、XML変換を実行し、これらを変数に格納することでした。私のプロセスには理由がありませんでしたが。

于 2011-12-13T15:03:01.273 に答える