i ntra-mart The Power for Enterprise Web Solution
Webサービスについて

概要

i ntra-mart BaseModuleApache Axis を利用することにより Webサービスの機能を提供することができます。これによりi ntra-mart の機能をネットワークを通じて利用することができます。 以下にその例を示します。

i ntra-mart Framework をご使用の場合は、お使いのウェブアプリケーションサーバのマニュアルをご覧ください。


前提

Webサービスを利用するにはi ntra-mart BaseModule および Apache Axis が正常に動作している必要があります。 インストール方法についてはインストールガイドをご覧ください。


Webサービスの利用

  1. インストール時に使用したApache AXIS を用意してください。
    Apache AXISの展開先を<AXIS_HOME>とします。
    例)C:\axis\axis-1_1

    i ntra-mart BaseModuleのインストール先を<IMART_HOME>とします。
    例)C:\imart

  2. 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/sample/web_service/calculator.jsを実行します。

    ソースファイルは<IMART_HOME>/source/java以下に配置されていますので、クラスの詳細はJavaソースをご覧ください。

    ページベースプログラム
    • <IMART_HOME>/pages/sample/web_service/calculator.js
      Webサービスから呼び出されるページベースプログラムです。
      引数に渡された二つの数値を加算して返却します。

  3. クラスパスの設定
    Webサービスの登録と実行のために必要なApache Axisi 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.jar
    set CLASSPATH=%CLASSPATH%;%AXIS_LIB%\commons-logging.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.jar
    set CLASSPATH=%CLASSPATH%;%IMART_HOME%\doc\imart\WEB-INF\classes
    set CLASSPATH=%CLASSPATH%;%IMART_HOME%\bin\intramart.jar

  4. コンパイル
    サンプルのクライアントプログラムをコンパイルします。
    >cd <IMART_HOME>\source\java

    <IMART_HOME>\source\java>javac -d <IMART_HOME>\doc\imart\WEB-INF\classes
                         jp/co/intra_mart/sample/soap/CalculatorClient.java

    <IMART_HOME>\source\java>javac -d <IMART_HOME>\doc\imart\WEB-INF\classes
                         jp/co/intra_mart/sample/soap/ScriptCallerBean.java

  5. クラスのデプロイ
    Apache Axisの管理用クライアントを利用してクラスファイルをデプロイ(配置)します。 デプロイするにはi ntra-mart BaseModuleに付属の 配置記述ファイル(Deployment Descriptorファイル)を使用します。

    サンプルには以下の配置記述ファイルが付属しています。
    Webサービス配置用 <IMART_HOME>\source\soap\sample\ScriptCallerService.wsdd
    Webサービス除去用 <IMART_HOME>\source\soap\sample\undeploy.wsdd

    以下のコマンドを実行してください。
    >java org.apache.axis.client.AdminClient -l http://localhost:8080/imart/servlet/AxisServlet
               <IMART_HOME>\source\soap\sample\ScriptCallerService.wsdd

    <Admin>Done processing</Admin>

    <Admin>Done processing</Admin>と表示されればデプロイは成功です。

  6. 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-2004 All Rights Reserved.