15.3.14 RESTアプリケーションの呼び出しの場合にファイルに指定する内容
アプリケーション呼び出しサービスは,RESTアプリケーションを呼び出して,呼び出し元の作業を完了させます。
アプリケーション呼び出し情報ファイルの格納先ファイルパス
RESTアプリケーションの呼び出しについて設定する,アプリケーション呼び出し情報ファイルの格納先ファイルパスは,次のどちらかです。
-
<BpmnCallInformationFileDirプロパティの指定値>/ope/<operationRefの値>.properties
-
<BpmnCallInformationFileDirプロパティの指定値>/msg/<messageRefの値>.properties
アプリケーション呼び出し情報ファイルの記述例
RESTアプリケーションの呼び出しについて設定する場合の,アプリケーション呼び出し情報ファイルの記述例を次に示します。
type=REST rest.request.method=POST rest.request.url=http://hostname/app/function rest.request.header.filepath= /home/csciw/header.properties rest.request.body.key.offset=0 rest.request.body.key.userdescription=@PIName rest.request.body.key.maxcount=$Nmaxcnt rest.response.pi.$SApproval=rest.response.body.key.approval
- 〈この項の構成〉
(1) type(REST)
キーの説明
アプリケーション呼び出しの種類を指定します。このキーは指定必須です。
指定値の説明
"REST"を指定してください。
RESTタイプのアプリケーションにアクセスします。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
大文字と小文字は区別します。
(2) rest.request.method
キーの説明
RESTアプリケーションのメソッドを指定します。このキーは指定必須です。
指定値の説明
呼び出し対象のRESTアプリケーションのメソッド名を指定します。次のどれかを指定してください。
GET:リソースを取得するリクエストの場合
POST:リソースを追加するリクエストの場合
PUT:リソースを更新するリクエストの場合
DELETE:リソースを削除するリクエストの場合
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
大文字と小文字は区別します。
(3) rest.request.url
キーの説明
RESTアプリケーションのURLを指定します。このキーは指定必須です。
指定値の説明
呼び出し対象のRESTアプリケーションのURLを指定します。
- 記述例
-
http://host1:80/apppath1/apppath2
- プロセスデータキー名および組み込み変数を混合して利用する場合
-
URLの以下の部分にプロセスデータキー名,および組み込み変数を記述できます。
-
パスのディレクトリ名およびファイル名
-
クエリパラメタのキーおよび値
- 記述例
-
http://host1:80/apppath1/apppath2/@PIName?doc1id=$Sid1&doc2id=$Sid2
-
- マルチインスタンスのサービスタスクでリスト型プロセスデータの1要素を利用する場合
-
末尾が"{@MIIndex}"のプロセスデータキー名をプロパティ値に指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
可 |
$変数(形式1) |
可 |
$変数(形式2) |
不可 |
注意事項
-
このプロパティに指定したプロセスデータおよび組み込み変数の値は,次のとおりURIエンコードされます。なお,URIエンコードの文字コードはUTF-8とします。
-
半角スペースは"%20"にエンコードされる
-
半角スペース以外の文字はjava.net.URLEncoderクラスの仕様に従いエンコードされる
-
-
プロセスデータおよび組み込み変数の値以外は,自動ではURIエンコードされません。RFC 2396で定義されている文字を使用し,必要に応じてURIエンコードした値を指定してください。
(4) rest.request.header.filepath
キーの説明
アプリケーション呼び出しサービスのリクエストにHTTPヘッダを含める場合に指定します。
指定を省略した場合,ヘッダ部が空のリクエストを送信します。
指定値の説明
HTTPヘッダを記載したヘッダファイルのパスを,絶対パスで指定します。
ヘッダファイルについては「15.3.6 HTTPヘッダを記述したファイルの指定方法(アプリケーション呼び出し情報ファイル)」を参照してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
OSがUNIX,かつ,rootユーザ以外の任意のOSユーザがCSCIWの業務アプリケーションを実行する場合, このプロパティに指定したファイルの所有者,およびグループもあわせて変更してください。
(5) rest.request.stylesheet.filepath
キーの説明
アプリケーション呼び出しサービスのリクエストボディの,XMLスキーマ変換をする場合に指定します。
指定を省略した場合,スキーマ変換をしません。
指定値の説明
XSLTで記述されたスタイルシートのファイルパスを,絶対パスで指定します。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
OSがUNIX,かつ,rootユーザ以外の任意のOSユーザがCSCIWの業務アプリケーションを実行する場合, このプロパティに指定したファイルの所有者,およびグループもあわせて変更してください。
(6) rest.request.read.timeout
キーの説明
RESTアプリケーション呼び出し時の読み込みタイムアウト値を変更する場合に指定します。
指定を省略した場合,タイムアウト値はCosminexusのJ2EEサーバ単位の通信タイムアウトを設定するejbserver.javaee.jaxrs.config.client.readTimeoutキーの設定に従います。
指定値の説明
RESTアプリケーション呼び出し時のクライアントソケットの読み込みタイムアウト値を,0~2,147,483,647の範囲で指定します。単位はミリ秒です。
タイムアウトしない設定をする場合,0を指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
RESTアプリケーション呼び出しのタイムアウト値をCosminexusの設定に従わせる場合は,このプロパティを設計および指定する必要はありません。
(7) rest.request.connect.timeout
キーの説明
RESTアプリケーション呼び出し時の接続タイムアウト値を変更する場合に指定します。
指定を省略した場合,タイムアウト値はCosminexusのJ2EEサーバ単位の通信タイムアウトを設定するejbserver.javaee.jaxrs.config.client.connectTimeoutキーの設定に従います。
指定値の説明
RESTアプリケーション呼び出し時のクライアントソケットの接続タイムアウト値を,0~2,147,483,647の範囲で指定します。単位はミリ秒です。
タイムアウトしない設定をする場合,0を指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
RESTアプリケーション呼び出しのタイムアウト値をCosminexusの設定に従わせる場合は,このプロパティを設計および指定する必要はありません。
(8) rest.request.body.key.<key要素値>
キーの説明
アプリケーション呼び出しサービスのリクエストボディに格納する値を指定します。
rest.request.methodがPOST,またはPUTの場合に指定できます。
指定を省略した場合,リクエストボディが空のリクエストを送信します。
指定値の説明
リクエストボディに渡すvalue要素の値を指定してください。指定された<key要素値>をkey要素の値に,また指定されたプロパティの値をvalue要素の値に持つdata要素を,リクエストボディに追加します。
XMLスキーマについては「6.1.3 ボディデータスキーマ(XML)」を参照してください。
- マルチインスタンスのサービスタスクでリスト型プロセスデータの1要素をリクエストボディに渡す場合
-
末尾が"{@MIIndex}"のプロセスデータキー名をプロパティ値に指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
可 |
$変数(形式1) |
可 |
$変数(形式2) |
可 |
注意事項
プロパティ値にプロセスデータの値がnullのプロセスデータキー名や組み込み変数を指定した場合,value要素のないリクエストボディが作成されます。
(9) rest.response.stylesheet.filepath
キーの説明
RESTアプリケーションのレスポンスボディのXMLスキーマ変換をする場合に指定します。
指定を省略した場合,スキーマ変換をしません。
指定値の説明
XSLTで記述されたスタイルシートのファイルパスを絶対パスで指定します。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
OSがUNIX,かつ,rootユーザ以外の任意のOSユーザがCSCIWの業務アプリケーションを実行する場合, このプロパティに指定したファイルの所有者,およびグループもあわせて変更してください。
(10) rest.response.pi.<$変数(形式1)>
キーの説明
呼び出し元案件のプロセスデータ<$変数(形式1)>を登録する場合に指定します。
- マルチインスタンスのサービスタスクでリスト型プロセスデータの1要素を登録する場合
-
末尾が"{@MIIndex}"のプロセスデータキー名を,プロパティキーの<$変数(形式1)>の部分に指定してください。
指定値の説明
プロセスデータに登録する値を指定します。
- RESTアプリケーションのレスポンスボディをプロセスデータに格納する場合
-
値に「rest.response.body.key.<key要素値>」を指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
可 |
$変数(形式1) |
可 |
$変数(形式2) |
不可 |
注意事項
rest.response.body.key.<key要素値>を指定した場合の注意事項を示します。
-
RESTアプリケーション呼び出しのレスポンスボディに,<key要素値>に該当するkey要素がないとき,RESTアプリケーション呼び出しは成功しますが,作業完了でエラーとなります。
-
<key要素値>に該当するkey要素が1つあり,対応するvalue要素がないとき,プロセスデータ値にはnullが登録されます。
-
<key要素値>に該当するkey要素が1つあり,value要素の値が空のとき,RESTアプリケーション呼び出しは成功しますが,作業完了でエラーとなります。
-
<key要素値>に該当するkey要素が2つ以上あるとき,RESTアプリケーション呼び出しは成功しますが,作業完了でエラーとなります。
(11) rest.response.pi.<$変数(形式2)>
キーの説明
呼び出し元案件のプロセスデータ<$変数(形式2)>を登録する場合に指定します。
指定値の説明
プロセスデータに登録する値を指定します。
- RESTアプリケーションのレスポンスボディをプロセスデータに格納する場合
-
値に「rest.response.body.key.<key要素値>」を指定してください。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
可 |
注意事項
rest.response.body.key.<key要素値>を指定した場合の注意事項を示します。
-
RESTアプリケーション呼び出しのレスポンスボディに,<key要素値>に該当するkey要素がないとき,RESTアプリケーション呼び出しは成功しますが,作業完了でエラーとなります。
-
RESTアプリケーション呼び出しのレスポンスボディに,<key要素値>に該当するkey要素があり,かつ対応するvalue要素がないとき,プロセスデータ値にはnullが登録されます。
-
RESTアプリケーション呼び出しのレスポンスボディに,<key要素値>に該当するkey要素があり,かつ対応するvalue要素が空のとき,RESTアプリケーション呼び出しは成功しますが,作業完了でエラーとなります。
(12) rest.request.idempotency
キーの説明
RESTアプリケーションがべき等性を保証していない場合にfalseを指定します。
指定を省略した場合,RESTアプリケーションがべき等性を保証しているものとして,アプリケーション呼び出しサービスがRESTアプリケーションを複数回呼び出すことがあります。
指定値の説明
RESTアプリケーションがべき等性を保証しているかどうかを指定します。
- trueの場合
-
べき等性を保証している場合に指定します。アプリケーション呼び出しサービスがRESTアプリケーションを複数回呼び出すことがあります。
- falseの場合
-
べき等性を保証していない場合に指定します。アプリケーション呼び出しサービスがRESTアプリケーションを複数回呼び出すことはありません。
値の形式ごとの指定可否を次の表に示します。
形式 |
指定可否 |
---|---|
組み込み変数 |
不可 |
$変数(形式1) |
不可 |
$変数(形式2) |
不可 |
注意事項
通常,このプロパティを設定しないでください。このプロパティにfalseを指定する場合の注意事項を次に示します。
-
RESTアプリケーションの呼び出しで障害が発生した場合,呼び出し回数が0回になる場合があります。
-
RESTアプリケーションの呼び出しで障害が発生した場合,ciwchgapworkコマンドを使用して,作業の状態を変更する必要があります。RESTアプリケーションを再実行する場合,作業を実行開始可能状態に戻してください。RESTアプリケーションを再実行しない場合,作業を完了させ案件を遷移させてください。再実行するかどうかはRESTアプリケーションの実行結果を基に決定してください。
-
アプリケーション呼び出し制御情報のリトライ回数とリトライ間隔は有効になりません。