この規則により、以下を参照するようにフラグが立てられます。 <handler> 要素内の web.xml , webservicesclient.xml , webservices.xml および ejb-jar.xml ファイルのみ。 ハンドラは各リクエストや応答に適用される追加の処理単位である。 これらは連結することができる、 複数のハンドラが順番にリクエストを処理できるようにする。 クライアントがリクエストを送ると、それはデプロイメント記述子で指定 された順序で各ハンドラによって処理された後、プロバイダに送られる。 プロバイダに送られる前に、デプロイメント記述子で指定された順序で各ハンドラによって処理される。 例えば 例えば、各クライアント・リクエストをログに記録するために、各リクエスト・メッセー ジを読み込み、それをファイルに書き出すハンドラを定義することができる。 をファイルに書き出すハンドラを定義できます。 ハンドラはリクエストとレスポンスを修正することもできる。 新しいクラスの実装に伴い の実装により、ハンドラ・クラスのすべてのオーバーライドまたは実装されたメソッドが更新されました。
JAX-RPCとJAX-WSの間で、ハンドラAPIに多くの重要な変更があった。
です:
- 命名規則の変更。 送信元
javax.xml.rpc.handler.Handler
へ
javax.xml.ws.handler.soap.SoapHandler
.
- を削除した
HandlerInfo
オブジェクトがある。
- これまでハンドラーが実装/拡張を要求されていた2つのクラスが削除された。 これらは
javax.xml.rpc.handler.Handler
および
javax.xml.rpc.handler.GenericHandler
.ハンドラは
javax.xml.ws.handler.soap.SoapHandler
または
javax.xml.ws.handler.LogicalHandler
.
JAX-RPCハンドラとJAX-WS SOAPHandlerの実装の違いの例として、次のようなものがある。
LoggingHandler の例です。
JAX-RPCハンドラーを使用する場合、クラス宣言は次のようになります。
のようになります:
また、JAX-WSでSoapハンドラを使って同じクラスを定義する: