Webサービス側でハンドラチェインを設定する場合,javax.jws.HandlerChainアノテーションでSEI,Webサービス実装クラス,またはプロバイダ実装クラスをアノテートし,javax.jws.HandlerChainアノテーションのfile要素でハンドラチェイン設定ファイルを指定します。
javax.jws.HandlerChainアノテーションでWebサービス実装クラスをアノテートした例を示します。
package com.sample; |
この例では,Webサービス実装クラスcom.sample.AddNumbersImplにハンドラチェイン設定ファイルhandlers.xmlで定義されたハンドラチェインを関連づけています。
ハンドラチェイン設定ファイルは,Webサービスごとに必要になります。複数のWebサービスで共有してもかまいませんが,その場合は,同じ設定が適用されます。
javax.jws.HandlerChainアノテーションについては,「16.2.3 javax.jws.HandlerChainアノテーション」を参照してください。
ハンドラチェイン設定ファイルは,ハンドラを使用してWebサービスに処理を追加した場合に,ハンドラチェインの構成を定義するファイルです。javax.jws.HandlerChainアノテーションのfile要素で指定します。
ハンドラチェイン設定ファイルのサポート範囲については,「19.4 ハンドラチェイン設定ファイルのサポート範囲」を参照してください。ここでは,ハンドラチェイン設定ファイルの構文および配置について説明します。
ハンドラチェイン設定ファイルの構文は,Java EE 5仕様の標準スキーマ(Java EE Web Services Metadata Handler Chain Schema),およびApplication ServerのJAX-WS機能でサポートされる範囲で記述します。
標準のスキーマは,Java EE 5の名前空間URI(http://java.sun.com/xml/ns/javaee/)にアクセスすることで参照できます。ハンドラチェイン設定ファイルの記述例を次に示します。
<?xml version="1.0" encoding="UTF-8"?> |
ハンドラチェイン設定ファイルは,次に示す場所に格納します。
OSのファイルシステムの制限とJava EE 5仕様に従っていて,WARファイルまたはEJB JARファイルに格納できれば,ファイル名,WEB-INFディレクトリ以下のディレクトリ名,EJB JARのディレクトリ名,およびパスの長さに制限はありません。
SOAPロールおよびアクタの設定を省略した場合,または空文字を指定した場合は,デフォルトの値が設定されます。デフォルトの値は,SOAP 1.1仕様のSOAPメッセージの場合は"http://schemas.xmlsoap.org/soap/actor/next",SOAP 1.2仕様のSOAPメッセージの場合は"http://www.w3.org/2003/05/soap-envelope/role/ultimateReceiver"です。
soap:mustUnderstand属性には,"0","1","true",または"false"を設定してください。それ以外の値を設定した場合は,"0"または"false"が設定されているものと見なされます。