付録I.11 リクエストパラメタにファイルを指定する方法
運用管理REST APIのリクエストパラメタにファイルを指定する方法を説明します。
運用管理REST APIを使用したビジネスプロセス定義の登録や振り分けルール定義の登録では,リクエストパラメタにファイルの内容を指定します。ファイルの内容を指定する場合,ファイルの内容はbase64エンコードした文字列を使用します。
ビジネスプロセス定義の登録の場合にリクエストパラメタにファイルを指定するときの処理の流れを次の図に示します。
- [説明]
-
-
ビジネスプロセス定義ファイル(.hbx)をbase64エンコードします。
-
base64エンコードファイルを読み込んでリクエストボディを作成します。
-
作成したリクエストボディを定義したビジネスプロセス定義の登録APIで,運用管理RESTサービスにHTTPリクエストを発行します。
-
コマンドラインツールを使用してbase64エンコードとcurlコマンドを実行し,ビジネスプロセス定義を登録する場合の指定例を次に示します。この例では,登録するビジネスプロセス定義ファイル名は「SampleBp#0001.hbx」とします。
コマンドライン |
説明 |
---|---|
$ base64 -w 0 SampleBp#0001.hbx > EncodedText.txt |
hbxファイルのbase64エンコード |
$ APIURL=http://restserver/csciwmngws/v1/process-definition |
URLの定義 |
$ HEADER="Content-Type: application/json" |
ヘッダの定義 |
$ BODYDATA={\"DefinitionFile\":\"$(cat EncodedText.txt)\"} |
リクエストボディの定義 |
$ curl -X POST ${APIURL} -H "${HEADER}" -d ${BODYDATA} |
curlコマンドの実行 |
ビジネスプロセス定義の登録を行う場合にbase64エンコードした文字列を指定したリクエストボディの例を次に示します。
- XMLの場合
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <Parameter> <DefinitionFile> PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgWE1JPjxYTUkgeG1pLnZlcnNpb249JzEuMCc+PC9YTUk+ </DefinitionFile> </Parameter>
- JSONの場合
{ "DefinitionFile":"PD94bWwgdmVyc2lvbj0nMS4wJyBlbmNvZGluZz0nVVRGLTgnPz48IURPQ1RZUEUgWE1JPjxYTUkgeG1pLnZlcnNpb249JzEuMCc+PC9YTUk+" }