ハンドラーを使用することにより、ネットワークを介したメッセージの送信の前後に、SOAP メッセージを処理することができます。
それらは通常、SOAP ヘッダーの内容を処理するために使用されます。
ヘッダーの仕様は JAX RPC および JSR 109 によって定義されます。
Web サービスおよび Web サービス・クライアント用のハンドラーを構成することができます。
始める前に
デプロイされた Web サービスについては、
webservice.xml デプロイメント記述子ファイルにハンドラーを追加することができます。
J2EE 1.3 Web サービス・クライアントについては、
webservicesclient.xml にハンドラーが追加されます。J2EE 1.4 Web サービス・クライアントについては、
サーブレットおよび JSP の場合は
WEB-INF/web.xml、
EJB の場合は
META-INF/ejb-jar.xml、
アプリケーション・クライアントの場合は
META-INF/application-client.xml
というそれぞれのクライアント・デプロイメント記述子に、ハンドラーを追加することができます。
ハンドラー・ウィザードは、
WebSphere® ランタイム環境のみを使用して、
Web サービスに適用することができます。
このタスクについて
Web サービスまたはクライアントを作成して、以下の手順でハンドラーを構成します。
手順
- Java™ EE パースペクティブで、「JSR-109 Web サービス」を展開し、適切な Web サービス (複数可) を右クリックし、
の順に選択します。
- 新規ハンドラーを追加するには、「ハンドラー構成」の下の 「追加」をクリックします。
- クラス名を入力するか、選択可能なクラスをブラウズします。
名前は自動的に入力されます。 まだ存在していないクラスの名前を入力した場合、
「新規ハンドラーのスケルトン・クラスを生成」を選択してあれば、ウィザードはそのクラスを作成します。
- ハンドラーを適用できる選択可能なポートが複数ある場合は、正しいポートを選択します。
このオプションは、複数の Web サービスのハンドラーを同時に作成してい
る場合には使用できないことに注意してください。
- 「OK」をクリックします。
- 必要なすべてのハンドラーをリストに追加したら、ウィザードにリストされている順序を変更することにより、
それらの処理順序を変更することができます。
「終了」をクリックします。
次のタスク
ウィザードがスケルトン・ハンドラーを作成すると、
ハンドラーの実装が Java エディターに自動的に開きます。
ウィザードを使用して複数のハンドラーを作成した場合には、
最初のハンドラーのみが Java エディターに開きます。
新規ハンドラーを追加すると、
その構成をデプロイメント記述子エディターまたは Web サービス・エディターで編集することができます。
これを編集するには、Web サービスまたはクライアント・デプロイメント記述子をダブルクリックしてから、
「WS ハンドラー」または「ハンドラー」タブを選択します。
Java エディターを使用してハンドラーの実装そのものを編集することもできます。
制限:- 現在の問題は、「ハンドラー構成」ウィザードでハンドラーを追加した後で、
ハンドラー Java ファイルが
まったく同一のロケーションに既に存在していて、かつ「ロード可能な Java クラスを
上書きしない」を選択しなかった場合を除き、ウィザードが新しいスケルトン・ハンドラー Java ファイルを
プロジェクトのプライマリー・ソース・フォルダーに生成することです。
このウィザードは EAR のどこか他の場所に同じ完全修飾名をもつハンドラーが存在するかどうかの検査は行いません。
その結果、プロジェクトの異なるソース・フォルダーや EAR の異なるモジュールの中など、EAR のどこか他の場所に既に存在しているハンドラーをウィザードで追加すると、
このウィザードは新しいスケルトン・ハンドラーを書き込むことになり、元のハンドラー・クラスを隠してしまいます。そのような場合には、ウィザードによって生成されたスケルトン・ハンドラーを削除してください。
- J2EE デプロイメント記述子エディターが未保存の変更がある状態で開かれ、
続いて、「ハンドラー構成」ウィザードを起動して同じ記述子に保存すると、
ウィザードは正しく終了しますが、このエディター・セッションでこの保留中の変更を保存することはできません。もし保存しようとすると、エディターは「ファイルは既に変更されています」というメッセージを出します。
「ハンドラー構成」ウィザードを使用して J2EE デプロイメント記述子ファイル
(webservices.xml、webservicesclient.xml、web-inf.xml, ejb-jar.xml、application-client.xml など)
に指定されたハンドラーで処理する前に、この記述子ファイルを開いているエディターを閉じてください。