Cosminexus アプリケーションサーバ V8 Webサービス開発の手引

[目次][用語][索引][前へ][次へ]

26.4 ハンドラの型

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

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

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

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

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

図26-2 ハンドラのクラス階層

[図データ]

Cosminexusの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ハンドラでもあるハンドラ)は論理ハンドラと見なされます。