他のプログラムをデバッグするのと同じ方法で、ローカル EGL サービスをデバッグできます。
前提条件
EGL サービス・パーツのほか、このサービスへのアクセスのためのバインド情報を持つリクエスターも必要です。
WebSphere® Application Server で Web サービスをデバッグする前に、このサービスを生成しておく必要があることに注意してください。
ローカル・サービスのデバッグ
サービスをデバッグするための最もシンプルな方法は、サービスと同じプロジェクト内にあるプログラムから、そのサービスを呼び出す方法です。その上で、テスト値をサービスに渡して、結果を検査することができます。
次のステップを実行します。
- 新規の EGL ソース・プログラムを作成する。
- そのプログラム内で、テスト対象のサービス・パーツに基づいて、サービス変数を宣言する。
- デプロイメント記述子内に、「ローカル」プロトコルを使用した EGL サービス (Web サービスではない) として、サービス・バインディングを作成する。
- このサービス・バインディングを使用し、変数をサービスにバインドする。
- プログラムの main() 関数で上記の変数を使用して、サービスの呼び出しを 1 回以上行う。
サービス呼び出し内に入力値をハードコーディングして、
出力値をコンソールに書き出す方法が最も簡単です。
以下の例を参照してください。
program addTestProgram type BasicProgram
myAddingMachine additionService
{@BindService {bindingKey = "additionService"}};
function main()
sumint int;
sumint = myAddingMachine.addInts(5, 12);
SysLib.writeStdOut("result = " + sumint);
end
end
- サービス呼び出しにブレークポイントを設定するEGL デバッガーでのブレークポイントの使用を参照してください。
- 論理パーツの場合と同様に、サービス内にブレークポイントを設定する。
- この新規 EGL ソース・プログラムをデバッグする。サービス呼び出しの前のブレークポイントで、サービス・コードにステップインします。他の論理パーツの場合と同様に、デバッガーはサービス内のブレークポイントで一時停止します。
機能
EGL デバッガーで実行する EGL 生成のサービスまたはサービス・パーツの場合、以下の特殊機能を使用できます。
- z/OS® 上にある VSAM ファイルのリモート・アクセス
- 非 EGL 生成のプログラムに対する呼び出し。この場合、リンケージ・オプション・パーツの callLink エレメントの設定は以下のとおりです。
- remoteComType プロパティーを DISTINCT に設定する
- remotePgmType プロパティーを EXTERNALLYDEFINED に設定する
- 開発環境のオペレーティング・システム・コマンドを実行する関数 SysLib.callCmd および SysLib.startCmd へのアクセス。
これらの機能を使用できるようにするために必要なタスクの詳細については、VSAM サポート、および特に、『アクセスの前提条件』というセクションを参照してください。