22
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?

インフォマティカ・ジャパン株式会社Advent Calendar 2024

Day 12

[CAIレシピ] HTTPレスポンスコード/ヘッダーを扱うサービス接続

Last updated at Posted at 2024-12-19

はじめに

REST APIによっては、レスポンスコードとしてHTTP 200以外を返す動作や、レスポンスヘッダーとして重要な情報を返す動作があります。この記事では、これらの情報をサービス接続で取得する手順を確認します。

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

例えば、SAPのODataサービスではCSRFトークンが必要になる場合があります。
CSRF Token Validation Failed in POST method in Gateway Client
CSRFトークンはレスポンスヘッダーとして返されるため、対象のAPI利用時にはこの記事で紹介している方法でサービス接続を定義します。

HTTPレスポンスコード/ヘッダーを扱うサービス接続

サービス接続の作成

次の手順では終了ステップによるHTTPレスポンスコード/ヘッダーの設定で作成したCAIプロセス recipe-pca-stepEnd を実行するサービス接続を作成しています。

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

    • 名前を recipe-svcConn-handleResponseCodeHeader とする
    • アクション getAction を追加する
  2. バインディング タブを選択して URL終了ステップによるHTTPレスポンスコード/ヘッダーの設定で作成したCAIプロセス recipe-pca-stepEnd のサービスURLを指定します。

  3. 出力 タブを選択して、出力フィールドを2つ、次のように定義します。
    image.png
    取得元HTTP応答ステータスコード とすることでHTTPレスポンスコードを、HTTP応答ヘッダー とすることでHTTPレスポンスヘッダーを取得しています。

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

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

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

CAIプロセスの実装

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

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

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

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

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

    • サービスタイプ接続 とする
    • 接続recipe-appConn-svcHandleResponseCodeHeader とする
    • アクションgetAction とする
  5. 割り当てステップを選択して、出力フィールド outCodeoutHeader にサービス接続の出力フィールド getActionCodegetActionHeader を指定します。
    image.png

CAIプロセスの実行

curlコマンドを例とした動作確認結果です。終了ステップによるHTTPレスポンスコード/ヘッダーの設定で作成したCAIプロセス recipe-pca-stepEnd が返すHTTPレスポンスコード(505)/ヘッダー(headerTest)をサービス接続経由で取得できました。

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

//実行結果
{
"outputCode":"505",
"outputHeader":"headerTest"
}

参照

22
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
22
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?