ステップ9. バッチ・モードでユーザー・エージェントを起動する
この演習の前のステップでは、Integratorスタジオからユーザー・エージェントを実行しました。このステップでは、バッチ・モードでユーザー・エージェントを実行してXLSファイルを送信します。注:このステップでは、ユーザー・エージェントをスタンドアロン・アプリケーションとしてインストールしておく必要があります。
1. ユーザー・エージェント・プロジェクト用に作成されたファイルは、以下のようなディレクトリにあります。
C:\Program Files\LANSA\Integrator\Studio\workspace\JMI Training\solutions\SendCSVFile
上記のディレクトリから次のファイルを
SendCSVFile.lih
iii_employee_new_salary.xls
以下のような\User Agent\workspaceフォルダーにコピーします。
C:\Program Files\LANSA\Integrator\UserAgent\workspace
2. 次のステップでは、メモ帳を使用して、LANSAユーザー・エージェントをインストールしたディレクトリ(省略値ではC:\Program Files\LANSA\Integrator\UserAgent)にiii_UPLOAD.BATファイルを作成します。iii_UPLOAD.BATファイルはDOSのバッチ・ファイルで、バッチ・ファイル実行時に必要なパラメータをユーザー・エージェントに渡して、ユーザー・エージェントがユーザー・インターフェイスなしに実行できるようにします。
3. メモ帳を開いて以下のファイルを開きます。
C:\Program Files\LANSA\Integrator\UserAgent\workspace\upload.bat
注:ファイルを開く際は、ファイルの種類に[すべてのファイル]を指定する必要があります。
これは、ユーザー・エージェントを実行するための付属バッチ・ファイルの例です。コードは以下のようになります。
@echo off
cls
rem --- Delete previous error log
file
if exist useragent.err del useragent.err
rem ---
Send
java -Djsf.log=\LANSA\Integrator\useragent\useragent.log
com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls
xls-order-response.rsp
if exist useragent.err goto error
rem ---
Send
java -Djsf.log=\LANSA\Integrator\useragent\useragent.log
com.lansa.jsf.useragent.JSFUserAgent acme.lih order.csv
csv-order-response.rsp
if exist useragent.err goto error
goto end
rem
-- An error has occured
:error
cls
echo Check useragent.err for
possible messages
echo Check useragent.log for possible messages
goto
end
:end
重要:upload.batの2行目にcldではなく、clsが含まれていることを確認してください。必要であれば、修正します。
「rem --- Send」から「goto error」までの2番目のコード・ブロックを削除します。付属の例では、バッチ・ファイルによって2つのファイルが送信されます。上記の赤で示されているコードが削除する部分です。コードは以下のようになります。
@echo off
cls
rem --- Delete previous error log
file
if exist useragent.err del useragent.err
rem --- Send
java
-Djsf.log=\LANSA\Integrator\useragent\useragent.log
com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls
xls-order-response.rsp
if exist useragent.err goto error
goto end
rem
-- An error has occured
:error
cls
echo Check useragent.err for
possible messages
echo Check useragent.log for possible messages
goto
end
:end
4. 提供のコードは拡張してあなたのPCで操作できるようにしなければなりません。入力するコードは今使用しているWindowsのバージョンにより異なります。以下はWindows XPの例です。コマンド・ラインの最初の “java” をフル・パスに置き換えてください。コードは次のようになります。新しく追加されたコードは赤で示されています。
rem --- Send
C:\WINDOWS\system32\JAVAW.EXE "-Djava.ext.dirs=..\lib\ext" "-Djava.endorsed.dirs=..\lib\endorsed" "-Djsf.log=.\useragent.log" com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rsp
5. この編集しているコマンド・ラインではJava runtime environment(JRE)でユーザー・エージェントを実行し、使用する構成ファイル(.lih)などの複数のパラメータを渡します。最初のパラメータは"-Djava.ext.dirs=で始まります。このパラメータに\lib\ext folderのパスを入れなければなりません。Windowsエクプローラーを使ってC:\Program Files\Javaのフォルダを確認すると、Javaの更新時に残された複数のバージョンのJavaのフォルダがあります。下の例を見て下さい。
Javaの最新のバージョン(もしくはIntegrator設定で指定した実際のJavaバージョン)のパスを指定してください。例えば、C:\Program Files\Java\jre6\lib\ext.のようになります。このパスを以下に示すように最初のパラメータに追加します。変更された箇所は赤で示されています。
rem --- Send
C:\WINDOWS\system32\JAVAW.EXE "-Djava.ext.dirs=c:\program files\java\jre6\lib\ext;.\lib\ext" "-Djava.endorsed.dirs=..\lib\endorsed" "-Djsf.log=.\useragent.log" com.lansa.jsf.useragent.JSFUserAgent acme.lih order.xls xls-order-response.rsp
6. このステップでは、構成ファイル(lih)、入力ファイル(xls)、応答ファイル(csv)の正しい実行時のパラメータを設定します。
acme.lihで始まるコマンド文字列の最後を次のように置き換えます。使用するファイル名にイニシャルをつけることを忘れないようにしてください。変更された箇所は赤で示されています。
rem --- Send
C:\WINDOWS\system32\JAVAW.EXE "-Djava.ext.dirs=c:\program files\java\jre6\lib\ext;.\lib\ext" "-Djava.endorsed.dirs=..\lib\endorsed" "-Djsf.log=.\useragent.log" com.lansa.jsf.useragent.JSFUserAgent workspace\SendCSVFile.lih workspace\iii_employee_new_salary.xls workspace\iii_employee_response.csv
重要: ここではコマンド行1行を編集していることを忘れないでください。上記の例は幅の制限があるため複数行に分けて表示されています。メモ帳を使用してこの行を1行として表示することができます。ただし右端での折り返しが有効になっている場合は、複数行として表示されます。
7. 完成したiii_upload.batファイルは以下のようになります。
@echo off
cls
rem --- Delete previous error log file
if exist useragent.err del useragent.err
rem --- Send
C:\WINDOWS\system32\JAVAW.EXE "-Djava.ext.dirs=C:\Program files\Java\jre1.6.0_07\lib\ext;.\lib\ext" "-Djava.endorsed.dirs=..\lib\endorsed" "-Djsf.log=.\useragent.log" com.lansa.jsf.useragent.JSFUserAgent workspace\SendCSVFile.lih workspace\iii_employee_new_salary.xls workspace\iii_employee_response.csv
if exist useragent.err goto error
goto end
rem -- An error has occured
:error
cls
echo Check useragent.err for possible messages
echo Check useragent.log for possible messages
goto end
:end
送信指示が以下の4つの部分で構成されていることに注意してください。
· ユーザー・エージェントを開始する指示
· 最初のパラメータ - SendCSVFile.lih (サービスを検索する方法)
· 2番目のパラメータ - iii_Employee_New_Salary.xls (処理するデータ)
· 3番目のパラメータ - iii_employee_response.csv (サービスからの応答を受信するファイルの名前)
8. [ファイル]メニューで[名前を付けて保存]オプションを選択し、以下のオプションを指定します。
保存場所 |
LANSAユーザー・エージェントをインストールしたディレクトリ(省略値では...\program files\lansa\integrator\UserAgent\)を探します。 |
[ファイル名] |
iii_UPLOAD.BAT |
[ファイルの種類] |
すべてのファイル |
注:…\UserAgent\ ではなく、…\UserAgent\workspace\に保存します。
9. iii_UPLOAD.BATファイルを実行します。成功した場合、iii_response.csvというファイルは、ディレクトリ…\UserAgent\workspace\に作成されます。WindowsはExcelでこの(CSV)ファイルを開きます。
問題が発生した場合、LANSAユーザー・エージェントを手動で開始できるかどうか、ホストのSendCSVFile.lihをロードできるかどうか、ソースiii_Employee_New_Salary.xlsを開けるかどうか、応答を受信できるかどうかを最初に確認します。詳細については、「ステップ5. iiiFN05ファンクションをテストする」を参照してください。