Java で Web サービスを実装することになったので調べたところ,Apache Axis2 がメジャーなようなのでこれを使うことにし,Eclipse も 3.3 にバージョンアップすることにしました。
Eclipse Europa Packages というパッケージが配布されており,開発対象に応じたプラグインがあらかじめインストールされていて便利です。今回は WTP (Eclipse Web Tools Platform) が入っている「Eclipse IDE for Java EE Developers」をダウンロードしました。
上手くいかず途中で何度か悩みましたが,最終的に WTP を利用して Web サービスを実装できました。
まず,Apache Axis2 の「Standard Binary Distribution」をダウンロードして,適当なディレクトリへ展開します(C:¥axis2-1.3 等)。
Eclipse を起動して環境設定ダイアログを表示し,「Web Services」-「Axis2 Preferences」を選択します。そして「Axis2 Runtime Location」に,さきほど Axis2 を展開したディレクトリを指定します。
次に「Web Services」-「Server and Runtime」を選択し,「Server」で対象とするコンテナの種類を(今回は Tomcat 5.5 を使いました),「Web service runtime」で「Apache Axis2」を指定します。
Eclise の環境設定が完了したら,「Dynamic Web Project」のプロジェクトを作成します。
プロジェクトを作成する途中の「Project Facets」画面で,「Axis2 Web Services」にチェックを入れます。
あとはクラスを作成して,そのクラスから Web サービスを生成するだけです。
最初はテストにため,与えられた文字列をそのまま返すメソッドを持つ簡単なクラスを作成しました。
public class EchoString { public EchoString() { } public String Echo(String str) { return str; } }
クラスを作成したら,「Project Explorer」で「EchoString.java」を右クリックして,コンテクストメニューから「Web services」-「Create Web service」を選択します。そして画面の指示に従って Web サービスを生成します。
これで EchoString クラスが Web サービスとして使えるようになります。試しに C# で簡単なクライアントを作って呼び出したところ,正常に操作するのを確認できました。
はじめは使い方が分からず悩みましたが,分かってしまえば便利です。