2

SOAPBodyから生のxmlを取得するにはどうすればよいですか?おそらく、Body xml(本文テキストではない)を提供するだけのutil関数です。すべてのノード/子をウォークスルーするコードを再発明したくありません-それはすでにいくつかのユーティリティにあるかもしれませんか?

キャメルフローにはデータコンバーター「soapjxb」がありますが、Javaオブジェクトにマップ/アンマーシャリングする必要はありません。

なぜそれが必要なのですか?:クリーンアップ操作

クライアントアプリの1つ(ApacheCamelを使用して統合しようとしています)は、xmlメッセージをmqに配置しています。メッセージは、soapエンベロープ(「不要なノイズ」)に埋め込まれています。クライアントアプリを変更できません。 。せっけんエンベロープを破棄し、soap-body内のxmlを取得して、別のjmsqueueに投稿する必要があります。

PS:ここで述べたようにSOAPMessageからrawxmlを取得する方法を知っています:JavaでSOAPMessageからrawXMLを取得する

4

2 に答える 2

1

XMLにSOAPEnvelopeがある場合は、xpathを使用して必要なXMLを分離し、途中で送信してください...

.setBody(xpath("//SOAPBody"))...
于 2012-11-15T16:26:36.843 に答える