Java™ API for XML-Based Web Services では、Java コードで注釈を使用して、Web サービスを簡単に作成することができます。
Java API for XML-Based Web Services (JAX-WS) プログラミング規格は、注釈に依存して、Web サービス実装に関連付けられるメタデータを指定します。また、この規格は、注釈に依存して、Web サービスの開発を簡略化します。注釈は Web サービスの 2 つの側面を表します。1 つは、どのようにサーバー・サイドのサービス実装が Web サービスとしてアクセスされるかということであり、もう 1 つは、どのようにクライアント・サイドの Java クラスが Web サービスにアクセスするかということです。
注釈を使用して、バインディングおよびハンドラー・チェーンを構成したり、ポート・タイプ、サービス、およびその他の WSDL パラメーターの名前を設定したりすることができます。 また、ビルド時に注釈を使用して Java を WSDL やスキーマにマップすることや、実行時に使用して JAX-WS ランタイムが Web サービス呼び出しを処理したり Web サービス呼び出しに応答したりする方法を制御することもできます。
この製品では、Web サービス・クライアント・ウィザードを使用して作成するクライアントで注釈を使用します。このウィザードでは、クライアント・プロキシーおよび注釈付きの静的サービス・クラスが生成されます。それらの注釈では、クライアントが Web サービスにアクセスする方法を指定します。
使用可能な注釈について詳しくは、関連資料を参照してください。
以下の Web サービス・シナリオは、ツールおよび WebSphere® ランタイム環境でサポートされています。
シナリオ | ランタイム環境 | コメント |
---|---|---|
ボトムアップ Java Bean | WebSphere Application Server V7.0 以上 | 注釈のみを使用して、または Web サービス・ウィザードと組み合わせて実行できます。既に Bean に @javax.jws.WebService 注釈が付いている場合、このウィザードで委譲 Bean を生成する必要はないので、このウィザードの多くのフィールドは使用不可になります。WSDL ファイルの生成のみを選択することができます。 @javax.jws.WebService のみを Java Bean に追加した場合、 他のオプション (SOAP 1.2 バインディングや MTOM など) を有効にするには、ウィザードを終了し、 この注釈を削除するか、または、注釈文書を使用した Web サービス作成に 進みます。このウィザードでは、部分的に注釈が付けられている既存の Bean に新規の注釈を付加することはできません。 |
ボトムアップ EJB 2.x | なし | 注釈の使用は未サポート |
ボトムアップ EJB 3.0 | WebSphere Application Server V7.0 以上 | 注釈および Web サービス・ウィザードの併用はできません。注釈を使用して EJB Bean をアプリケーション・サーバーへデプロイする必要があります。 |
meet-in-the-middle Java Bean | WebSphere Application Server V7.0 以上 | このシナリオでは、Web サービス注釈付き Java Bean を
wsdlLocation 属性を使用して WSDL 文書にマップできます。 注: SOAP 1.2 を使用する場合は、次のようにします。
以下の例のように、@WebService 注釈の wsdlLocation 属性を指定する必要があります。
WebSphere Application Server によって動的に生成された WSDL ファイルを使用することはできず、
事前に WSDL ファイルを作成しておく必要があります。代わりに、Java Bean から Web サービスを生成する際に SOAP 1.2 を使用するように選択すると WSDL ファイルが自動で生成される、Web サービス・ウィザードを使用することができます。詳しくは、Java Bean および WSDL ファイルからの Web サービスの作成を参照してください。 |
meet-in-the-middle EJB 3.0 | WebSphere Application Server V7.0 以上 | このシナリオでは、Web サービス注釈付き EJB Bean を wsdlLocation 属性を使用して WSDL 文書にマップできます。 詳しくは、EJB Bean および WSDL ファイルからの Web サービスの作成を参照してください。 |
@WebService
public class QuoteBean implements StockQuote {
public float getQuote(String sym) { ... }
}
@WebService 注釈によって、この Bean にあるすべての public メソッドを Web サービスとして公開するように、サーバー・ランタイム環境に指示されます。個々のメソッドまたはパラメーターに関するその他の注釈を追加して、さらにきめ細かなレベルで制御することもできます。アノテーションの使用によって、Java 成果物を Web サービスとして公開することがたいへん簡単になります。また、成果物は WSDL ファイルから起動されるいくつかのトップダウン・マッピング・ツールを使用して作成されるので、注釈は、ソース・ファイルと一緒に、メタデータを取得するための手段としてソース内および Java クラス内に含められます。