概要
i ntra-mart BaseModule は Apache Axis を利用することにより
Webサービスの機能を提供することができます。これによりi ntra-mart の機能をネットワークを通じて利用することができます。
以下にその例を示します。
i ntra-mart Framework をご使用の場合は、お使いのウェブアプリケーションサーバのマニュアルをご覧ください。
前提
Webサービスを利用するにはi ntra-mart BaseModule および Apache Axis が正常に動作している必要があります。
インストール方法についてはインストールガイドをご覧ください。
Webサービスの利用
- インストール時に使用したApache AXIS を用意してください。
Apache AXISの展開先を<AXIS_HOME>とします。
例)C:\axis\axis-1_2
i ntra-mart BaseModuleのインストール先を<IMART_HOME>とします。
例)C:\imart
- i ntra-mart BaseModuleに添付されているサンプルを例にしてWebサービスを設定します。
Javaクラス
- jp.co.intra_mart.sample.soap.ScriptCallerBean.class
Webサービスを提供するサンプルプログラムです。
<IMART_HOME>/pages以下に配置された任意のjsプログラムを実行することができます。
- jp.co.intra_mart.sample.soap.CalculatorClient.class
Webサービスクライアントのサンプルプログラムです。
ScriptCallerBean.classのWebサービスを利用して、ネットワークを通じて<IMART_HOME>/pages/src/sample/web_service/calculator.jsを実行します。
ソースファイルをご覧になる場合はインストールCDの/src/src_sample.zipを展開してご覧ください
ページベースプログラム
- <IMART_HOME>/pages/sample/web_service/calculator.js
Webサービスから呼び出されるページベースプログラムです。
引数に渡された二つの数値を加算して返却します。
- クラスパスの設定
Webサービスの登録と実行のために必要なApache Axisと
i ntra-mart BaseModuleのライブラリをクラスパスに設定します。
以下がWindows環境でライブラリをクラスパスに追加するバッチファイルの例です。
set AXIS_HOME=C:\axis\axis-1_1
set IMART_HOME=C:\imart
set AXIS_LIB=%AXIS_HOME%\lib
set CLASSPATH=.
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\axis.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\axis-ant.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\commons-discovery-0.2.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\commons-logging-1.0.4.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\jaxrpc.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\log4j-1.2.8.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\saaj.jar
set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\wsdl4j-1.5.1.jar
set CLASSPATH=%CLASSPATH%;%IMART_HOME%\doc\imart\WEB-INF\classes
set CLASSPATH=%CLASSPATH%;%IMART_HOME%\bin\intramart.jar
|
- クラスのデプロイ
Apache Axisの管理用クライアントを利用してクラスファイルをデプロイ(配置)します。
デプロイするにはi ntra-mart BaseModuleに付属の
配置記述ファイル(Deployment Descriptorファイル)を使用します。
サンプルには以下の配置記述ファイルが付属しています。
Webサービス配置用 |
<IMART_HOME>\doc\imart\WEB-INF\classes\jp\co\intra_mart\sample\soap\ScriptCallerService.wsdd |
Webサービス除去用 |
<IMART_HOME>\doc\imart\WEB-INF\classes\jp\co\intra_mart\sample\soap\undeploy.wsdd |
以下のコマンドを実行してください。
>java org.apache.axis.client.AdminClient -l http://localhost:8080/imart/servlet/AxisServlet
<IMART_HOME>\doc\imart\WEB-INF\classes\jp\co\intra_mart\sample\soap\ScriptCallerService.wsdd
<Admin>Done processing</Admin>
|
<Admin>Done processing</Admin>と表示されればデプロイは成功です。
- Webサービスの実行
Webサービスを起動しJSプログラムを実行します。以下のコマンドを実行してください。
>java jp.co.intra_mart.sample.soap.CalculatorClient 5 6
RESULT=11
|
WebサービスのクライアントがWebサービスを起動し、JSプログラムの計算結果が表示されました。
引数に与えた数値の加算結果が表示されれば成功です。
|
|
|
|
|
|
|
|
Copyright(C) NTT DATA INTRAMART CO.,LTD. 2000-2005 All Rights Reserved.
|
|
|