J2EE 1.3 仕様から、アプリケーション・コンポーネント (アプリケーション・クライアント、Web モジュール、EJB モジュール) は Web サービス参照と呼ばれる「論理」名を使用して外部の Web サービスへの参照を定義できるようになりました。
J2EE 1.3 では、参照はモジュール内の webservicesclient.xml に追加されます。J2EE 1.4 から、参照はデプロイメント記述子に含まれるようになりました。
デプロイメントでは、Web サービス参照は、ターゲットの作動環境内の Web サービス・インターフェースへ結び付けられます。
定義したそれぞれの Web サービス参照ごとに、service-ref 要素がそのアプリケーション・コンポーネントに追加されます。
Web サービス参照は、それらが定義されているアプリケーション・コンポーネントまたはエンタープライズ Bean にスコープされるので、ランタイム時は他のアプリケーション・コンポーネントまたは Bean からはアクセスできません。
その他のコンポーネントは、名前の競合なしに同じ名前で Web サービス参照を定義できます。
注: J2EE 1.4 仕様レベルより前のプロジェクト・レベルの場合、ワークベンチで Web サービス参照は定義できますが、service-ref 要素はデプロイメント記述子 (application-client.xml、web.xml、または ejb-jar.xml) に追加されません。代わりに、Web サービス参照はモジュールの WEB-INF フォルダー内の webservicesclient.xml ファイルで宣言されます。
例えば、Web サービス参照を J2EE 1.3 アプリケーション・クライアントに追加する場合、その参照は webservicesclient.xml に追加されます。
例えば、Web サービス参照を J2EE 1.4 アプリケーション・クライアントに追加する場合、その参照は application-client.xml に追加されます。
ヒント: EJB 仕様は、Bean の環境 (java:comp/env/service JNDI コンテキスト) のサービス・サブコンテキストですべての Web サービス参照を編成することを推奨しています。
Web サービス参照の定義方法は、次のとおりです。