0

Webサービスからデータを返すときに問題が発生します。
メトロスタックを使用しています。

問題:
問題は、データにいくつかの制御文字が含まれていることです。クライアント側のコード変更も含まれるため、データを暗号化したくありません。
より良い方法は制御文字を削除することですが、文字ごとのスキャンと削除/replaceAllはパフォーマンスにいくらかの影響を及ぼします。

考えられる解決策:
私がやりたいのは、メトロがクライアントに送信する前にSOAPメッセージをインターセプトし、制御文字をチェックすることです。そして、戻る前にXMLのすべての制御文字を置き換えます。

ここにいる誰かが、戻る前に応答を傍受する方法を知っていますか?または
、制御文字を置き換えることができる独自のシリアライザー/デシリアライザーを作成するにはどうすればよいですか?

ありがとう。

4

2 に答える 2

0

私の場合、XMLAdapter は非常に便利であることがわかりました。仲間が役に立つと思う場合に備えて、情報を追加します。
参考:http ://weblogs.java.net/blog/kohsuke/archive/2005/09/using_jaxb_20s.html

XMLAdapter には、抽象メソッド marshal および unmarshal が含まれています。そのため、マーシャル/アンマーシャル メソッドで適切なエンコーダーを使用しました。

于 2011-07-18T07:18:51.130 に答える
0

Providerインターフェースを使用してこれを行うことができると思います。実際の Web サービスの代わりに、プロバイダーの実装が呼び出されます。次に、XML を解析し、呼び出しをサービス実装に転送します。

操作がやや面倒ですが、うまくいけば..

于 2011-05-23T13:01:37.577 に答える