「Axis」Web サービスを登録する
いまさらながらですが、Axis 使ってみたので、その時のメモです。
今回は Web サービスの登録です。
1. Axis のダウンロード、インストールする
以下から「axis-bin-1_4.tar.gz」をダウンロードしました。
・Index of /pub/network/apache/axis/axis/java/1.4
http://ftp.yz.yamagata-u.ac.jp/pub/network/apache/axis/axis/java/1.4/
適当なディレクトリ ( /usr/local/axis/ ) に配置して展開する。
tar zxvf axis-bin-1_4.tar.gz
環境変数 AXIS_HOME を設定しておきます。
export AXIS_HOME=/usr/local/axis/axis-1_4
2. AP サーバに axis アプリケーションを配置する
AXIS_HOME/webapps 配下に axis アプリケーションが入っているので、こいつを AP サーバに配置してやる。
今回は AP サーバに Tomcat ( バージョン 6.0.14 ) を使うので、CATALINA_HOME/webapps 配下にコピーする。
cp -R $AXIS_HOME/webapps/axis $CATALINA_HOME/webapps
とりあえず、Tomcat 起動して「http://localhost:8080/axis」に正常にアクセスできるか確認しておく。
3. Web サービスの元になるクラスを作成する
クラスは「$CATALINA_HOME/webapps/axis/WEB-INF/classes」に作成することにします。
mkdir -p $CATALINA_HOME/webapps/axis/WEB-INF/classes/test vi Test.java javac Test.java
Test.java の内容は簡単に以下の感じで。
package test; public class Test { public String hello() { return "hello"; } public String greet(String name) { return name + " greet"; } public int add(int a, int b) { return a + b; } }
4. Web サービスデプロイメントディスクリプタ ( WSDD ) を作成して、Web サービスをデプロイする
ディレクトリはどこでもいいですが、クラスパスの設定が面倒なので「$CATALINA_HOME/webapps/axis/WEB-INF/classes/」にしました。
■ Test.wsdd
<deployment xmlns="http://xml.apache.org/axis/wsdd/" xmlns:java="http://xml.apache.org/axis/wsdd/providers/java"> <service name="TestService" provider="java:RPC"> <parameter name="className" value="test.Test"/> <parameter name="allowedMethods" value="*"/> </service> </deployment>
AdminClient を利用してデプロイする
java -cp .:$AXIS_HOME/lib/* org.apache.axis.client.AdminClient Test.wsdd
※「要求されたクラス(javax.activation.DataHandler と javax.mail.internet.MimeMultipart)が見つかりません。Attachmentサポートが利用できません。」的なメッセージが出力されましたが、今回特に影響なかったので無視してます。何しか .jar が足りてないとかそんなんっぽいですが、詳しくは調べてません・・・
上記で Web サービスの登録完了です。「http://localhost:8080/axis/services/TestService?wsdl」にアクセスすると、wsdl の内容が表示されるはずです。
ドキュメントは以下あたりになりますね。
・WebServices - Axis
http://axis.apache.org/axis/ja/java/user-guide.html
次回はクライアント作成して、実際に Web サービス使ってみようと思います。
以上です。
[ 環境情報 ]
CentOS 6.2
Apache Tomcat 6.0.14
Apache Axis 1.4
Java SE 6 Update 14