
メニュー > 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ファイル、クライアント側のプロキシクラスが生成されます。
クライアント側アプリケーションの作成
今までの作業でクライアント側のプロジェクトには
- Hello.java
- HelloProxy.java
- HelloService.java
- HelloServiceLocator.java
- HelloSoapBindingStub.java
が、生成されています。それでは実行オブジェクトを作成して動作を確認してみましょう。
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.