はじめに

Axis には、新しいユーザにとって使い方がかなり基本的なコマンドラインツールがあります。これらは wsdl2java、java2wsdl、tcpmon、adminclient です。これらのツールは全て java を介して呼び出す必要があり、正しく動かすためにはかなり複雑なクラスパスを必要とします。

java [クラスパス] [クラスの完全修飾名] パラメータ

このようにしてツールを使うのはとてももどかしいです。というのもコマンドラインはとても長く、間違いやすいからです。ですからいくつかの役立つツールを作成したほうが賢いでしょう。

誰かこの unix バージョンを作成してくれませんか? - AndrewPremdas

コマンドラインツールの設定

これから axis 用のいくつかの便利なバッチファイルを作成します。これらをあなたのパスに入れておくとよいでしょう。以下のものを作成します。

setaxiscp - ツールが必要とするクラスパスを入れておく環境変数 AXIS_CP を設定します java2wsdl - java2wsdl を起動します wsdl2java - wsdl2java を起動します adminclient - adminclient を起動します tcpmon - tcp モニタツールを起動します 以上の事をする前に、ツールのロギングを設定します。

ロギングの設定

全てのコマンドラインツールはロギングを持っています。ですからロギングが正しく初期化されることを保証するために簡単な log4j.properties ファイルを作成します。

# axis 用の簡単な log4j 設定 #
# ログメッセージを直接 stdout へ #
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n

# ここでロギングレベルを変更
log4j.rootLogger=info, stdout
これを、これから LOG4J_PROPERTIES_HOME と定義する場所に置く必要があります。

クラスパスの設定

コマンドラインツールは以下の jar ファイルにアクセスする必要があります。

全ての axis jar ファイル
activation.jar
mail.jar
xml パーサの jarファイル
log4j.properties ファイル
ですからまずしなくてはならないことは、これらの場所へのパスを作成することです。

set AXIS_HOME=C:\lib.dir\axis-1_2beta
set ACTIVATION_HOME=C:\lib.dir\jaf-1.0.2
set MAIL_HOME=C:\lib.dir\javamail-1.3.1
set XML_HOME=C:\lib.dir\xalan-j_2_6_0\bin
set LOG4J_PROPERTIES_HOME=C:\axisUtils

set AXIS_LIB=%AXIS_HOME%\lib
次にそれぞれのライブラリへのパスを追加します。これを一度に行います。なぜならユーザガイド (http://ws.apache.org/axis/java/user-guide.html) やインストールガイド (http://ws.apache.org/axis/java/install.html#deploy) に従ってもできなかったからです。これによりタイプミスによってもたらされるいかなる問題も突き止めやすくなります。

set AXISCP=.
set AXISCP=%AXISCP%;%ACTIVATION_HOME%\activation.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\axis.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\commons-discovery.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\commons-logging.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\jaxrpc.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\saaj.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\log4j-1.2.8.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\wsdl4j.jar
set AXISCP=%AXISCP%;%MAIL_HOME%\mail.jar
set AXISCP=%AXISCP%;%XML_HOME%\xml-apis.jar
set AXISCP=%AXISCP%;%XML_HOME%\xercesImpl.jar
次に、パスに log4j.properties の場所を追加します。

set AXISCP=%AXISCP%;%LOG4J_PROPERTIES_HOME%
これを setaxiscp.bat として保存します。完全なバージョンがこのページの一番最後にあります。

コマンドラインツールを呼び出す便利なツールを作成する

各ツールのバッチファイルを作成します。

java2wsdl.bat

wsdl2java.bat

adminclient.bat

tcpmon.bat

使い方

コマンドウィンドウを開いて setaxiscp を実行すれば他のバッチファイルを使うことができます。ヘルプを見るには -h パラメータだけを渡します。

setaxiscp.bat
@ECHO OFF

REM Locations: Change these to match your environment
set AXIS_HOME=C:\lib.dir\axis-1_2beta
set ACTIVATION_HOME=C:\lib.dir\jaf-1.0.2
set MAIL_HOME=C:\lib.dir\javamail-1.3.1
set XML_HOME=C:\lib.dir\xalan-j_2_6_0\bin
set LOG4J_PROPERTIES_HOME=C:\axisUtils

set AXIS_LIB=%AXIS_HOME%\lib

REM Create the class path
set AXISCP=.
set AXISCP=%AXISCP%;%ACTIVATION_HOME%\activation.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\axis.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\commons-discovery.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\commons-logging.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\jaxrpc.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\saaj.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\log4j-1.2.8.jar
set AXISCP=%AXISCP%;%AXIS_LIB%\wsdl4j.jar
set AXISCP=%AXISCP%;%MAIL_HOME%\mail.jar
set AXISCP=%AXISCP%;%XML_HOME%\xml-apis.jar
set AXISCP=%AXISCP%;%XML_HOME%\xercesImpl.jar

ECHO set up classpath

REM set logging to the console using log4j
set AXISCP=%AXISCP%;%LOG4J_PROPERTIES_HOME%

ECHO initialised logging

ECHO Should now be able to call
ECHO adminclient, tcpmon, wsdl2java, java2wsdl /axis/ja.

ja/axis/UsingCommandLineTools (last edited 2009-09-20 22:48:12 by localhost)