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;