WSDL自動生成
WebAPIを公開するにあたって避けては通れないWSDLファイルを自動生成する方法です。といってもapache axis にはその機能があるのでそれを使うだけですが。
前準備
- tomcat4.1 をインストール
- http://ftp.kddilabs.jp/infosystems/apache/ws/axis/1_2_1/ あたりから apache axis 1.2 をインストール
- 上記を解凍したものを %CATALINA_HOME%/webapps/axis にコピーする
- tomcat を起動する
Hello.jws
- 下記のファイルを %CATALINA_HOME%/webapps/axis にコピーする
- こいつはガワだけなので中身は適当に
public class Hello {
public String hi() {
return "こんにちわ、世界";
}
public String bye() {
return "さようなら、世界";
}
public String echo(String str) {
return str;
}
public boolean login(String id, String password) {
if (id.equals("hogehoge") && password.equals("fugafuga")) {
return true;
} else {
return false;
}
}
public String[] languages() {
String[] list = {"en", "ja", "us"};
return list;
}
}
WSDLの生成
- http://localhost:6666/axis/Hello.jws?wsdl にアクセスする
- ソースの表示でまるごとぱくる
- 以下変更
Hello.pm
- 下記のファイルを /home/fuga/test にコピーする
- こっちは中身をまともに実装する
package Hello;
sub hi {
return "こんにちわ、世界";
}
sub bye {
return "さようなら、世界";
}
sub echo {
my ($this, $str) = @_;
return $str;
}
sub login {
my ($this, $id, $password) = @_;
if ($id eq 'hogehoge' && $password eq 'fugafuga') {
return "OK";
} else {
return "NG";
}
}
sub languages {
return ("パール", "C言語", "シェル");
}
1;