Apache Axis2を試してみる。
http://ws.apache.org/axis2/
以前書いたエントリで、Apache Axis2のHot Deployment面白そうねとか書いた手前、さっくり試してみる。
ダウンロード
http://ws.apache.org/axis2/download/1_3/download.cgi
の辺りから、Standard Binary Distributionを入手。
インストール
特になし。アーカイブ展開するだけ。
とりあえず動かしてみる
axis2-1.3/bin/axis2server.bat
を起動し、
http://localhost:8080/
にアクセスしてみる。
と、Deployed servicesの画面が現れて、Versionサービスが使えることが分かる。
とりあえずVersionのリンクをクリックすると、URLが「http://localhost:8080/axis2/services/Version?wsdl」となり、wsdlが表示される。
URLを以下のようにしてみると、サービスを起動できる。
http://localhost:8080/axis2/services/Version/getVersion
結果として、
<ns:getVersionResponse> <ns:return> Hello I am Axis2 version service , My version is 1.3 </ns:return> </ns:getVersionResponse>
みたいのが表示されればOK。
自分でWebサービスを書いてみる
インストールディレクトリ直下に置いてあるREADME.txtによれば、
でサービスを公開できるらしい。
早速やってみよう。
作業フォルダとしてaxis2-1.3/samples/helloを使う。
○axis2-1.3/samples/hello/META-INF/services.xml
<service name="Hello"> <parameter name="ServiceClass">Hello</parameter> <operation name="hello"> <messageReceiver class="org.apache.axis2.rpc.receivers.RPCMessageReceiver" /> </operation> </service>
○axis2-1.3/samples/hello/Hello.java
public class Hello { public String hello() { return "Hello, World!"; } }
至ってシンプル。POJOってステキ!
で、Hello.javaをコンパイルする。
作業ディレクトリは、axis2-1.3/samples/helloです。
axis2-1.3\samples\hello>javac Hello.java
でもって、aarアーカイブを作成する。
axis2-1.3\samples\hello>jar cvf hello.aar Hello.class META-INF マニフェストが追加されました。 Hello.class を追加中です。(入 = 275) (出 = 209)(24% 収縮されました) エントリ META-INF/ を無視します。 META-INF/services.xml を追加中です。(入 = 220) (出 = 134)(39% 収縮されました) axis2-1.3\samples\hello>
で、この出来上がったhello.aarを、axis2-1.3/repository/servicesにコピーする。
と、最初に起動したaxis2serverの窓に、
[INFO] Deploying Web service: hello.aar
とか表示されて、Hot Deployment(?)される。
とりあえず動かしてみるのところに戻ってみると、Helloサービスが使えるようになっているのが分かる。axis2serverの再起動は必要なし!
感想
結構簡単にできますね。