Hitachi

Cosminexus V11 アプリケーションサーバ Webサービス開発ガイド


36.4 ハンドラの型

JAX-WS 2.2仕様は,論理ハンドラとプロトコルハンドラの二つを定義しています。また,プロトコルハンドラは,SOAPハンドラを定義しています。それぞれのハンドラの説明を次に示します。

論理ハンドラ

javax.xml.ws.handler.LogicalHandlerインタフェースを実装するハンドラです。

プロトコルハンドラ

javax.xml.ws.handler.LogicalHandlerインタフェースを除く,javax.xml.ws.handler.Handlerのすべての継承インタフェースを実装するハンドラです。

SOAPハンドラ

javax.xml.ws.handler.soap.SOAPHandlerインタフェースを実装するハンドラです。

ハンドラの関係(クラス階層)を次の図に示します。

図36‒2 ハンドラのクラス階層

[図データ]

Application ServerのJAX-WS機能では,論理ハンドラとSOAPハンドラを使用できます。

論理ハンドラでもSOAPハンドラでもないハンドラをハンドラチェインに設定した場合,Webサービス側のJAX-WSエンジンでは,Webサービス初期化時にログおよび標準エラー出力にエラーメッセージが出力されます(KDJW00009-E)。Webサービスクライアント側のJAX-WSエンジンでは,ポートを取得しようとしたときに,javax.xml.ws.WebServiceExceptionがスローされます。

javax.xml.ws.handler.LogicalHandlerインタフェースおよびjavax.xml.ws.handler.soap.SOAPHandlerインタフェースの両方を実装するハンドラ(論理ハンドラでもSOAPハンドラでもあるハンドラ)は論理ハンドラと見なされます。