Hitachi

uCosminexus Service Coordinator Interactive Workflow システム構築・運用ガイド


付録I.11 リクエストパラメタにファイルを指定する方法

運用管理REST APIのリクエストパラメタにファイルを指定する方法を説明します。

運用管理REST APIを使用したビジネスプロセス定義の登録や振り分けルール定義の登録では,リクエストパラメタにファイルの内容を指定します。ファイルの内容を指定する場合,ファイルの内容はbase64エンコードした文字列を使用します。

ビジネスプロセス定義の登録の場合にリクエストパラメタにファイルを指定するときの処理の流れを次の図に示します。

図I‒4 リクエストパラメタにファイルを指定する場合の処理の流れ(ビジネスプロセス定義の登録)

[図データ]

[説明]
  1. ビジネスプロセス定義ファイル(.hbx)をbase64エンコードします。

  2. base64エンコードファイルを読み込んでリクエストボディを作成します。

  3. 作成したリクエストボディを定義したビジネスプロセス定義の登録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+"
}