JAX-RPC Web サービス用 Enterprise JavaBeans (EJB) からサービス・エンドポイント・インターフェース
を開発できます。
始める前に
重要: WebSphere Application Server Version
6.1 Feature Pack for Web Services は、本製品の機能を拡張して、Java API for XML-Based Web Services (JAX-WS) 2.0 の
プログラミング・モデルを導入できるようにします。
JAX-WS は、次世代の Web サービス・プログラミング・モデルであり、
Java API for XML-based RPC (JAX-RPC) プログラミング・モデルが提供する
基盤を提供します。戦略的 JAX-WS プログラミング・モデルを使用すると、
標準ベースの注釈モデルのサポートによって、Web サービスおよび Web クライアントの開発が
容易になります。
JAX-RPC プログラミング・モデルとアプリケーションは
引き続きサポートされますが、Web サービス・アプリケーションおよびクライアントを
新規に開発する場合は、
実装が容易な JAX-WS プログラミング・モデルをご利用ください。
サポートされる構成: Feature Pack for Web Services が
サポートするのは、JAX-WS の Web サービス・アプリケーションの Web コンテナー
内での、JavaBeans エンドポイントのホスティングのみです。
Web サービスとしてホストされるエンタープライズ Bean を開発するには、
JAX-RPC プログラミング・モデルを使用する必要があります。sptcfg
Web サービス用開発環境をセットアップします。
このタスクは、Enterprise Bean から Java API for XML-based RPC (JAX-RPC) Web サービスを開発する場合に必要なステップです。
サービス・エンドポイント・インターフェースは Web サービス・メソッドを定義します。
Web サービスをインプリメントする Enterprise Bean は、サービス・エンドポイント・インターフェース
のメソッドと同じ署名を持つメソッドをインプリメントする必要があります。
パラメーターとして使用可能なタイプ、およびサービス・エンドポイント・インターフェース・メソッドの結果には、
いくつかの制限があります。
これらの制限については、Web サービス: 学習用リソースから入手可能な
Java API for XML ベースのリモート・プロシージャー・コール (JAX-RPC) 仕様に文書化されています。
EJB Web サービス・インプリメンテーション用のサービス・エンドポイント・インターフェースは、EJB リモート・インターフェースから作成するのが最も簡単な方法です。
アセンブリー・ツールを使用して、サービス・エンドポイント・インターフェースを
作成することもできます。
このタスクについて
このタスクのセクションで提供されているステップに従って、サービス・エンドポイント・インターフェースを開発します。
プロシージャー
- サービス・エンドポイント・インターフェースに組み込むメソッドを含む Java インターフェースを作成します。
既存の Java インターフェースから開始する場合は、JAX-RPC 仕様
に準拠しないメソッドは除去してください。
- インターフェースをコンパイルします。
javac コマンドで、コンパイルするクラスのサービス・エンドポイント・インターフェース・クラスの名前を使用します。
javac コマンドを使用してください。
シン・アプリケーション・クライアント・コードの開発に記載されている Linux および UNIX プラットフォームを使用してください。
インターフェースをコンパイルする j2ee.jar ファイルが、
CLASSPATH にあることを確認してください。
JAR ファイルは、
/QIBM/ProdData/WebSphere/AppServer/V6/product/lib/j2ee.jar ディレクトリー・パスにあります。
結果
Web サービスの開発に使用できるサービス・エンドポイント・インターフェースが作成されます。
例
この例では、EJB リモート・インターフェース AddressBook_RI を使用して、Web サービスとして使用する
EJB インプリメンテーションのサービス・エンドポイント・インターフェースを作成します。
以下のコード例は、AddressBook_RI リモート・インターフェースを示しています。
package addr;
public interface AddressBook_RI extends javax.ejb.EJBObject {
/**
* Retrieve an entry from the AddressBook.
*
*@param name the name of the entry to look up.
*@return the AddressBook entry matching name or null if none.
*@throws java.rmi.RemoteException if communications failure.
*/
public addr.Address getAddressFromName(java.lang.String name)
throws java.rmi.RemoteException;
}
以下のステップに従って、AddressBook_RI リモート・インターフェースを使用して
サービス・エンドポイント・インターフェースを作成します。
- すでに作成されているリモート・インターフェース (AddressBook_RI.java リモート・インターフェースなど)
を検索します。
- AddressBook.java リモート・インターフェースのコピーを作成して、これを
サービス・エンドポイント・インターフェースのテンプレートとして使用します。
- AddressBook.java サービス・エンドポイント・インターフェースをコンパイルします。
次の作業
Web サービス記述言語 (WSDL) ファイルなど、Web サービスを開発する場合に必要となる成果物の収集を継続します。
WSDL ファイルは Web サービスのエンジンであるため、
WSDL ファイルを
作成する必要があります。
WSDL ファイルがない場合、Web サービスを作成できません。