Axis2 の環境に Web サービスを登録する
たいぶと前になりますが、以下のエントリーで構築した Axis2 の環境に Web サービスを登録してみました。その時のメモです。
・「Webサービス」Axis2 環境を構築する - プログラム日記
http://a4dosanddos.hatenablog.com/entry/2013/04/10/002224
[ 環境情報 ]
CentOS 6.2
Apache Tomcat 7.0.27
Java SE 6 Update 34
Apache Axis2 1.6.2
以下の Quick Start を参考にしながら進めます。
・Apache Axis2 - Axis2 Quick Start Guide
- Axis2 Services
http://axis.apache.org/axis2/java/core/docs/quickstartguide.html#services
以下の機能を提供する Web サービスを作ってみようと思います。
・"Hello" という文字列を返す
・パラメータとして渡した英字の文字列を全て大文字に変換する
・足し算を行う
1. 上記の機能を提供する Java プログラムを作成する
public class Axis2Sample { public String hello() { return "hello"; } public String getUpperString(String s) { return s.toUpperCase(); } public int add(int a, int b) { return a + b; } }
コンパイルしておく。
2. aar ファイルを作成する
まず、services.xml を作成する。
<service name="Axis2Sample" scope="application"> <messageReceivers> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-only" class="org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver"/> <messageReceiver mep="http://www.w3.org/2004/08/wsdl/in-out" class="org.apache.axis2.rpc.receivers.RPCMessageReceiver"/> </messageReceivers> <parameter name="ServiceClass"> Axis2Sample </parameter> </service>
ディレクトリ構成は以下の感じにして
Axis2Sample - META-INF - services.xml - lib - Axis2Sample.class
次のコマンドを実行する ( ディレクトリ Axis2Sample に移動しておく )。
jar cvf axis2sample.aar META-INF/ lib/ Axis2Sample.class
3. Web サービスを登録する
axis2sample.aar を $CATALINA_HOME/webapps/axis2/WEB-INF/services にコピーする。
※ 試してないけど、たぶん Administrator console からでもできるっぽい。
Administrator console にログインして「Available Services」の箇所を見ると、上記で作成した "Axis2Sample" といった表示が確認できる。ひとまず、Web サービスの登録は無事完了したっぽい。
・Apache Axis2 - Apache Axis2 Web Administrator's Guide
http://axis.apache.org/axis2/java/core/docs/webadminguide.html
本当は「クライアント作成して Web サービス呼び出す」ってところまでやって完了なのですが、もう眠いので、また今度やります。
おそらくクライアント作成のドキュメントは、以下あたりになるんかなと。
・Apache Axis2 - Apache Axis2 User's Guide- Creating Clients
http://axis.apache.org/axis2/java/core/docs/userguide-creatingclients.html#createclients
以上です。