次は実際にWebサービスの構築を行う。

Helloサービスの構築

前ページの手順で準備が完了したら、早速Enunciateを使ってWebサービスを作っていきたい。

構築の手順は図1のようになる。

図1: Enunciateを使ったWebサービス構築までの流れ

以下の手順はこの図に沿って進めていく。なお、今回作成するサービスは「HelloService」という名の簡単なサービスだ。

Helloサービスの概要

Helloサービスのディレクトリ構成を以下に示す。

図2: Helloサービスのディレクトリ構成

見ておわかりの通り、非常に単純だ。あとはこのレイアウトに沿ってファイルを作っていこう。

ソースコードの記述、アノテーションの付与

ここでは、HelloServiceインタフェースとHelloServiceImplクラスを作成する。

コードをコンパイルするには、まず、「ENUNCIATE_HOME/enunciate-full-1.0.jar」と「ENUNCIATE_HOME/lib/*.jar(libディレクトリ直下にあるJarファイルすべて)」にクラスパスを通す必要がある。

HelloServiceインタフェースのコードはリスト1のようになる。WSDLで定義されたWebサービスとして作成するので、JAX-WSのアノテーションを用いている。

リスト1: インタフェースHelloService

package examples;

import javax.jws.WebService;

@WebService
public interface HelloService {
    String hello(String name);
}

リスト1のインタフェースを実装したクラスHelloServiceImplはリスト2のようになる。

リスト2: HelloServiceImpl

package examples;

import javax.jws.WebService;

@WebService(endpointInterface = "HelloService")
public class HelloServiceImpl implements HelloService {
    public String hello(String name) {
        return "Hello, " + name;
    }
}

サービスが行う処理の内容は重要ではない。JAX-WSの@WebServiceアノテーションが使用されていることにだけ注意してほしい。