xml-axisを使用したWebアプリケーションのインストールと配備

はじめに

本文書では、xml-axisのインストールについて、できるだけ簡単に説明しています。設定ファイルを編集することも、サーバのクラスパスを設定することなども行いません。その代わり、ここでの説明は、サーブレット仕様2.2互換の全ての実装でサポートが要求されている自動設定と独立性のみに依存しています。

Axisの使用に関するより詳細については、ユーザガイドを参照して下さい。

ステップ 1: Webアプリケーションの作成

使用するサーブレットのインストールにおいて、Webアプリケーション(webapps)を格納するディレクトリを確認しなければなりません。このディレクトリに、xml-axis配布物内のwebapps/axisディレクトリをコピーして下さい。実際には、このディレクトリの名前は、どのように変更しても構いません。ただし、その名前がクライアントからサービスへアクセスする際のURLのベース部分になることに注意して下さい。

ステップ 2: 依存物のインストール

作成したディレクトリに、WEB-INFというディレクトリがあります。ここには、いくつかの基本的な設定情報が含まれていますが、依存物や配備するWebサービスを含めるために使用することもできます。これは、サーブレットエンジンがそれぞれ独立した各Webアプリケーションを維持する際に、実際に推奨される配備方法です。

WEB-INFディレクトリには、"lib" ディレクトリがあります。

  • このディレクトリに、使用するJAXP 1.1 XML互換のパーサに関連するjarファイルをコピーして下さい。通常、これは、xml-xerces配布物のxerces.jarか、JAXP 1.1 リファレンス実装のcrimson.jar及びjaxp.jarかのいずれかを意味します。

注意: 各Webアプリケーション、または、Webサーバ自体が同一のXMLパーサを使用する必要はありません。

ステップ 3: Webサービスのインストール

ここまでくれば、次のステップはとても簡単です:

WEB-INFディレクトリに "classes" ディレクトリがあるか確認して下さい(なければ作成して下さい)。

  • このディレクトリに、ディレクトリ構造を維持するように注意して、インストールするサービスをコピーして下さい。

繰り返しますが、独立性は維持されます。ちなみに、サービスがjarファイルにパッケージ化されていれば、代わりにそれをlibディレクトリに置くだけで済みます。

注意: Webサービスがxml-axisで提供されている単純な認証ハンドラを使用するように作成されていた場合、対応するperms.lstとusers.lstファイルをWEB-INFディレクトリにコピーする必要があります(このハンドラは、実運用での使用を意図したものではなく、単にハンドラの作成方法を示すものなので、実際には、このハンドラの使用は推奨されません)。

ステップ 4: Webサーバの起動

これは、使用する製品によって異なります。多くの場合、起動用アイコンをダブルクリックするか、コマンドラインから簡単なコマンドを実行することになります。

ステップ 5: インストールのテスト

Webアプリケーションとその依存物のインストールを行った後、サーバがそのWebアプリケーションを実行できるか確認しなければなりません。

  • Webアプリケーションの起動ページにアクセスして下さい。ポート番号が異なるかもしれませんが、通常、http://127.0.0.1:8080/axis/です。
    Apache-Axisの起動ページが表示されるはずです。
  • Validate the local installation's configurationというリンクを辿って下さい。
    これにより、必要、もしくは、付加的なライブラリが存在するかどうかを検証するテストページへ移動します。もし、必要なライブラリの一部が存在しなかった場合、Axisは動作しません。必要なライブラリが全て揃い、この検証ページで問題がなくなるまで、先へ進んではいけません。
    付加的なコンポーネントは省略できます。必要になった際に、インストールして下さい。
  • 起動ページからView the list of deployed Web servicesを選択して下さい。サーブレットの設定次第ですが、これにより登録された全てのWebサービスが、一覧表示されます。このページで各配備済みWebサービスの(wsdl)をクリックすることで、そのWebサービスが起動し、稼働中であることを確認することができます。
ステップ 6: Webサービスの配備

ここまでで、設定した各種のクラスやjarファイルには、多くのインタフェースが含まれています。残る作業は、これらがどのように結合され、何が公開されるかをSOAPとAxisサーブレットへ通知することです。これには、多くの方法がありますが、ここでは、自動処理に適した1つの方法のみを簡単に説明します。

  • axis.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar、saaj.jar、log4j-1.2.4.jar(または、選択したロギング実装に適したもの)、及び、XMLパーサの1つもしくは複数のjarファイル(例えば、xerces.jar)をクラスパスに追加して下さい。サービス用の配備記述子を配置して、以下のコマンドを実行します:
    java org.apache.axis.client.AdminClient -lhttp://localhost:8080/axis/services/AdminService deploy.wsdd

注意: localhostをホスト名に、8080をWebサーバで使用しているポート番号に置き換える必要があるかもしれません。
ステップ 7: テスト

このステップは省略可能ですが、是非行って下さい。説明のために、ここでは、株価デモをインストールし、配備したと仮定します。

  • axis.jar、commons-discovery.jar、commons-logging.jar、jaxrpc.jar、saaj.jar、log4j-1.2.4.jar(または、選択したロギング実装に適したもの)、及び、XMLパーサの1つもしくは複数のjarファイル(例えば、xerces.jar)とAxisをインストールしたディレクトリをクラスパスに追加して下さい。xml-axisの配布ディレクトリに移動し、以下のコマンドを実行して下さい:
    java samples.stock.GetQuote -lhttp://localhost:8080/axis/servlet/AxisServlet -uuser1 -wpass1 XXX
  • "55.25" という結果が返されるはずです。

注意: 繰り返しますが、localhostをホスト名に、Webサーバで使用しているポート番号に置き換える必要があるかもしれません。