PEXA Serviceについて
チュートリアル
テストツール
定義ファイル
基本プロセス
拡張プロセス
Condition
セッション
モデル
リファレンス
環境設定
|
callプロセス概要
|
サービス内から他のサービスを呼び出すためのプロセスです。
使用する場面としては、例えばプロセスの分岐が発生するような処理を実行する際に、
条件判定と振り分けのみを行うサービスを作成してその中でcallプロセスを使用し、
実際に処理を行うサービスに処理を委譲するといった場合に使用します。
|
|
callフォーマットタイプ書式
|
(プロセス名
format_type call
(call
service宣言部(1)
session_keysセクション(0|1)
return_keysセクション(0|1)
)
)
記述注:
属性 あらかじめ決められた値を選択する(true/falseなど)
宣言部 値または、値のリストを設定する
セクション 入れ子で他の属性、宣言部、セクションを保持する可能性がある
(値又は、値のリストが設定される場合もある)
(1):必須
(0|1):オプション
(1以上):一個以上必須
(0以上):0個以上(オプション)
session_keysセクション
|
例:キー名を置き換えずにそのまま渡す場合
(CALL_Service
format_type call
(call
session_keys S1,S2
service AA_SERVICE
return_keys R1,R2
)
)
例:キー名を置き換えて渡す場合
(CALL_Service
format_type call
(call
(session_keys
S1 @MyKey1 ;;ここでのS1,S2はAA_SERVICEに渡すセッションキーを表し、
S2 @MyKey2 ;;@MyKey1,@MyKey2は呼び出し元のセッション値を表す。
)
service AA_SERVICE
return_keys R1,R2
)
)
概要
呼び出すサービスに渡すセッション値を指定することができます。
このsession_keysセクションで指定したセッション値を渡して他のサービスを呼び出します。
前者の例では、呼び出し時点で持っているセッション値を同じキー名でそのまま渡しています。
後者の例では、別のキー名に置き換えて渡しています。
なお、この記述を省略すると、呼び出し元がもっているセッション値がすべてそのまま渡されてしまいます。
極力session_keysセクションで渡すべき物だけを指定するようにして下さい。
|
|
return_keysセクション
|
例:キー名を置き換えずにそのまま受け取る場合
(CALL_Service
format_type call
(call
session_keys S1,S2
service AA_SERVICE
return_keys R1,R2
)
)
例:キー名を置き換えて受け取る場合
(CALL_Service
format_type call
(call
session_keys S1,S2
service AA_SERVICE
(return_keys
MyKey1 @R1 ;;ここでの@R1,@R2はAA_SERVICEが返したセッション値であり、
MyKey2 @R2 ;;それらを呼び出し元側のMeyKey1,MeyKey2というキーで受け取る
)
)
)
概要
呼び出したサービスから呼び出し元が受け取るセッション値を指定します。
前者の例では、AA_SERVICEが返したセッション値R1,R2を同じキー名で呼び出し元のサービスが受け取ります。
後者の例では、AA_SERVICEが返したセッション値R1,R2を自分用のキー名に置き換えて値を受け取ります。
AA_SERVICE内で作成されたR1,R2以外のセッション値は破棄されます。
よって、呼び出し元のサービスで作成されたセッションキーで同名のセッションキーをAA_SERVICEで使用していてもreturn_keysで指定されていない限り書き換わる事はありません。
但し、session_keysで指定されたセッションキーの内容を変更される可能性はあります。
なお、この記述を省略すると、呼び出したサービスから返されたセッションは破棄されます。
|
|
|
|
記述例
|
;;-------------------------------------
;;入力情報
;; @WKFL_ワークフロー申請データ(Updatable)
;;-------------------------------------
(service
service_name 各種支払申請書を取込する
service_location server
{process
(受取がまだだったら受け取りする
(before_condition
filter "@WKFL_ワークフロー申請データ/ワークフロー状態種別 != 受取済"
error &Skip
)
format_type call
(call
service "各種申請書を受取する"
)
)
(出金申請書の場合
(before_condition
filter "@WKFL_ワークフロー申請データ/ワークフロー申請種別 = 出金申請書"
error &Skip
)
format_type call
(call
service "出金申請書を取込する"
)
)
(仮払申請書の場合
(before_condition
filter "@WKFL_ワークフロー申請データ/ワークフロー申請種別 = 仮払申請書"
error &Skip
)
format_type call
(call
service "仮払申請書を取込する"
)
)
}
)
|
|
更新情報
|
- 最終更新者 : $Author: morishita $
- 最終更新日時 : $Date:: 2010-03-19 22:48:07 #$
- バージョン : $Revision: 4891 $
|
|
|