11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

はじめに

CAIプロセス実行時のリクエストメソッド(GET, POSTなど)やResourcePathを取得するではURIを動的に指定可能なCAIプロセスの実装を確認しました。この記事では、動的なURIを使用するサービス接続の実装を確認します

なお、この記事は次の記事の内容を理解していることを前提としています。

動的なURIを使用するサービス接続の使用

サービス接続の作成

次の手順ではCAIプロセス実行時のリクエストメソッド(GET, POSTなど)やResourcePathを取得するで作成した recipe-pca-functionVerbResourcePath を呼び出すサービス接続を作成しています。

  1. サービス接続を次の設定で作成します。

    • 名前を recipe-svcConn-dinamicURI とする
    • アクション getAction を追加する
  2. アクション タブ、入力 タブを選択して、入力フィールドを 名前=pathタイプ=テキストテストに使用する値=TestPath1/TestPath2 として定義します(ここで定義した入力フィールドは、CAIプロセスでこのサービス接続を使用する際の入力フィールドとなります)。
    image.png

  3. バインディング タブを選択して URLCAIプロセス実行時のリクエストメソッド(GET, POSTなど)やResourcePathを取得するで作成した recipe-pca-functionVerbResourcePath のサービスURLに/{$path}を加えた文字列を指定します。/{$path}は定義済みの入力フィールドです。
    image.png

  4. テスト結果 タブを選択して、テスト を実行、次のように3つのフィールドが得られる動作を確認できたら プロセスオブジェクトの生成 を実行します。
    image.png

  5. 出力 タブを選択、出力フィールドの追加ボタンをクリックして、出力フィールドを次のように設定します
    image.png

  6. 作成したサービス接続を 保存 して パブリッシュ を実行します。

アプリケーション接続の作成

  1. アプリケーション接続を次の設定で作成します。
    • 名前を recipe-appConn-svcDinamicURI とする
    • タイプを recipe-svcConn-dinamicURI とする
  2. 保存、パブリッシュ を実行します。

CAIプロセスの作成

次の手順では作成したサービス接続・アプリケーション接続を利用するCAIプロセスを作成しています。

  1. CAIプロセスを次の設定で作成します。

    • 名称を recipe-pca-svcDinamicURI とする
    • 匿名アクセス を許可する
    • クラウドサーバー にデプロイする
  2. 入力フィールド input1,input2タイプ=テキスト として定義します。

  3. 出力フィールド output を定義します。タイプ はサービス接続で作成したプロセスオブジェクトを次のように指定します。
    image.png

  4. 一時フィールド tmpPathタイプ=テキスト として定義します。

  5. CAIプロセスが次の順に実行されるように各種ステップを追加します。
    image.png

  6. 割り当てステップを選択して一時フィールド tmpPath計算式 として if ($input.input2 = "") then $input.input1 else concat($input.input1, "/", $input.input2) を指定します。
    image.png
    なお、計算式は次の内容をChatGPTに伝えて生成してもらったコードを元としています。

    XQueryで次のコードを書いてほしいよ
    - tmpPath、input1、input2というテキスト型の変数があるよ
    - input1とinput2をスラッシュ区切りで連結してほしいよ
    - input2が空文字の場合には、区切り文字(スラッシュ)は不要だよ

  7. サービスステップを選択して、次のように設定します。

    • サービスタイプ接続 とする
    • 接続recipe-appConn-svcDinamicURI とする
    • アクションgetAction とする
  8. サービスステップの 入力フィールド タブを選択して、入力フィールド path に一時フィールド tmpPath を指定します。
    image.png

  9. 割り当てステップを選択して、出力フィールド output にサービス接続の出力フィールド getActionOut を指定します。
    image.png

CAIプロセスの実行

curlコマンドを例とした動作確認結果です。入力フィールドの違いにより、出力フィールドが変わる動作を確認できます。

curlコマンドと実行結果
curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-svcDinamicURI

//実行結果
{"output":{"outVerb":"GET"}}
curlコマンドと実行結果
curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-svcDinamicURI \
-H 'Content-Type: application/json' \
-d '{
"input1": "AAA"
}'

//実行結果
{"output": {
  "outVerb": "GET",
  "outPath1": "AAA"
}}
curlコマンドと実行結果
curl https://<IICS・CAIサーバー>/active-bpel/public/rt/<Org ID>/recipe-pca-svcDinamicURI \
-H 'Content-Type: application/json' \
-d '{
"input1": "AAA",
"input2": "BBB"
}'

//実行結果
{"output": {
  "outVerb": "GET",
  "outPath1": "AAA",
  "outPath2": "BBB"
}}

参照

11
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?