メニュー > Webアプリケーション > Soap > Eclipse + WTPでSoapアプリケーションを自動生成

Eclipse + WTPでSoapアプリケーションを自動生成

(2007/07/18)

動作環境

 このページでは以下の環境での動作を説明しています。
Eclipse3.2.2
WTP1.0.1
Tomcat5.5
J2SDK 6.0 Update1

Eclipseで簡単自動生成

 Eclipse + WTPを用いて、JavaのクラスからWSDLファイル, WSDDファイル、およびクライアント用のプロキシクラスを自動生成します。
 既存でもaxisのjava2wsdlなどのコマンドを用いた自動生成が可能ですが、ここではEclipseから、より簡単に作業を行います。

WTPのインストール

 Eclipseを起動し、メニューバーの"ヘルプ"→"ソフトウェアの更新"→"検索およびインストール"を選択します。
 インストールする新規フューチャーを検索を選択します。


 Callisto Discovery Siteにチェックを入れて、終了ボタンを押下します。


 Web Standard Tools(WST)とJ2EE Standard Tools(JST)にチェックを入れ、必要項目を選択ボタンを押下して、必須パッケージもインストール項目に含めます。


 以降、次へボタンを押下してインストールを完了します。

 Eclipseをいったん終了して、http://download.eclipse.org/webtools/downloads/translations/R1.5/R-1.5.1-200609230508/index.htmlより、日本語パッケージを入手してセットアップします。

 "ウィンドウ"→"設定"を選択し、"インストール済みサーバー・ランタイム環境"でTomcat5.5を追加します。

プロジェクトの作成

 サーバー側のプロジェクトを作成します。"ファイル"→"新規"→"プロジェクト"より"動的 Webプロジェクト"を選択し、プロジェクトを作成します。


 次にクライアント側のプロジェクトを作成します。こちらは通常のJavaプロジェクトとします。(プロジェクトも自動生成可能なため必須ではありません)

サーバ側コードの作成

 サーバ側のコードとして、簡単なBeanを作成してみましょう。
Hello.java
package jp.co.mclnet.soap;

public class Hello {

    public Hello() {
    }

    public String sayHello(String name) {
        String greeting = "Hello!, " + name;
        System.out.println(greeting);
        return greeting;
    }
}

WSDLファイルとクライアントコードの自動生成

 作成したJavaファイルを右クリックして、"Web サービス"→"Web サービスの作成"を選択します。

 クライアントのスライダーを動かし、"クライアントの開発"にします。


 クライアント・プロジェクトは先ほど作ったものに設定し直します。


 ダイアログに従って、次へボタンを押下していきます。途中でTomcatサーバを始動します。
 ウィザードを完了すると、サーバアプリケーションのデプロイと、WSDLファイル、クライアント側のプロキシクラスが生成されます。

クライアント側アプリケーションの作成

 今までの作業でクライアント側のプロジェクトには
 が、生成されています。それでは実行オブジェクトを作成して動作を確認してみましょう。
HelloClient.java
package jp.co.mclnet.soap;

import java.rmi.RemoteException;

public class HelloClient {

    public static void main(String[] args) {
        Hello hello = new HelloProxy();
        try {
            String greeting;
            greeting = hello.sayHello("Miura");
            System.out.println(greeting);
        } catch (RemoteException e) {
            e.printStackTrace();
        }
    }
}

実行します。
Hello!, Miura


Copyright (C)2005-2009 Miura Computer Limited. ALL RIGHTS RESERVED.