注釈を使用した Web サービスの作成

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 サービスにアクセスするかということです。

JAX-WS プログラミング規格は、注釈を使用した Java クラスへのメタデータの付加をサポートしています。この場合のメタデータは、サービス・エンドポイント・アプリケーションを Web サービスとして定義したり、クライアントが Web サービスにアクセスする方法を指定したりするために使用されます。JAX-WS 規格は、以下に示すように、いくつかの Java Specification Requests (JSR) に基づく注釈の使用法をサポートしています。 JSR 181 規格に基づく注釈を使用すると、サービス実装クラスまたはサービス・インターフェースに注釈を付けることができます。その後で、ウィザードを使用して、または、アプリケーションをサーバーに公開して、Web サービスを生成することができます。Java ソース・コードと Java クラスの両方で注釈を使用すると、Web サービスの開発が簡略化されます。このような 方法で注釈を使用すると、通常はデプロイメント記述子ファイル、 Web サービス記述言語 (WSDL) ファイル、または、XML および WSDL からソース成果物へのメタデータのマッピングから取得される、多くの 情報を定義できます。

注釈を使用して、バインディングおよびハンドラー・チェーンを構成したり、ポート・タイプ、サービス、およびその他の WSDL パラメーターの名前を設定したりすることができます。 また、ビルド時に注釈を使用して Java を WSDL やスキーマにマップすることや、実行時に使用して JAX-WS ランタイムが Web サービス呼び出しを処理したり Web サービス呼び出しに応答したりする方法を制御することもできます。

この製品では、Web サービス・クライアント・ウィザードを使用して作成するクライアントで注釈を使用します。このウィザードでは、クライアント・プロキシーおよび注釈付きの静的サービス・クラスが生成されます。それらの注釈では、クライアントが Web サービスにアクセスする方法を指定します。

使用可能な注釈について詳しくは、関連資料を参照してください。

サポート対象の注釈ベース Web サービス・シナリオ

以下の Web サービス・シナリオは、ツールおよび WebSphere® ランタイム環境でサポートされています。

表 1. サポートされるランタイム環境. 注釈ベースの Web サービスの各種シナリオでサポートされるランタイム。
シナリオ ランタイム環境 コメント
ボトムアップ 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 を使用する場合は、次のようにします。
@javax.xml.ws.BindingType (value=javax.xml.ws.soap.SOAPBinding.SOAP12HTTP_BINDING) 
以下の例のように、@WebService 注釈の wsdlLocation 属性を指定する必要があります。
@javax.jws.WebService (targetNamespace="http://p/", ..., wsdlLocation="WEB-INF/wsdl/EchoService.wsdl")
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 タグを Java ソースに埋め込んで Bean を Web サービスとして公開することができます。
@WebService 

public class QuoteBean implements StockQuote {

       public float getQuote(String sym) { ... }

}

@WebService 注釈によって、この Bean にあるすべての public メソッドを Web サービスとして公開するように、サーバー・ランタイム環境に指示されます。個々のメソッドまたはパラメーターに関するその他の注釈を追加して、さらにきめ細かなレベルで制御することもできます。アノテーションの使用によって、Java 成果物を Web サービスとして公開することがたいへん簡単になります。また、成果物は WSDL ファイルから起動されるいくつかのトップダウン・マッピング・ツールを使用して作成されるので、注釈は、ソース・ファイルと一緒に、メタデータを取得するための手段としてソース内および Java クラス内に含められます。

トピックのタイプを示すアイコン 概念のトピック
インフォメーション・センターのご利用条件 | フィードバック

タイム・スタンプ・アイコン 最終更新: May 29, 2014 10:20

ファイル名: cwsandoc001.html