CXF を使用して SOAP over JMS でメッセージを送信しています。
POST_MARSHALL フェーズで CXF インターセプターを作成しようとしています。xml の生成時にいくつかの属性を変更したいと考えています。
私はメッセージからコンテンツを取得できることを知っています
message.getContent(java.io.Writer.class).
これはたまたまJMSConduit$1の形式になっています。これは - 私が思うに - StringWriter です(コードをデバッグするとbufフィールドが表示されます)。
xml を文字列形式で取得して変更を加えることができますが、問題はそれをメッセージに戻すことです。
JMSConduit$1 を別のものに変更することはできません。そうしないと、CXF はそれを JMS エンドポイントに送信しません。(JMSConduit である必要があります)。
変更された xml を JMSConduit に戻す方法が見つかりません。
message.getExchange().getConduit();
では、変更した xml を message/JMSConduit に戻すにはどうすればよいでしょうか?