質問
RESTコネクターで取得した値をGET実行処理のリクエストヘッダに設定することは可能ですか。また、スクリプト変数を経由する際にinfoログへ値が出力されないようにする方法はありますか。
回答
GET実行処理の [ヘッダ設定] - [リクエストヘッダ/値] にスクリプト変数を指定することで、RESTで取得した値をリクエストヘッダに設定できます。
ただし、前段のREST処理の出力を直接マッピングする機能は提供されていないため、スクリプト変数を経由せずにリクエストヘッダへ値を直接入れることはできません。
スクリプト変数への代入時にinfoログへ値が出力されることを避けたい場合は、loop処理で対象の処理を囲む方法があります。手順は以下のとおりです。
■実装例

■設定手順
1. loop処理を配置し、[繰り返し回数] に「1」を設定する。[ログ設定を変更する] にチェックを入れ、[ログを出力する] のチェックを外す。

2. loop処理(start)からmappingにつなぎ、スクリプト変数に代入したい値を代入する。
3. GET実行処理を配置し、接続先に必要な設定をした上で、[リクエストヘッダ/値] に手順2で使用したスクリプト変数を指定する。
4. loop処理(end)に手順3のGET実行処理をつなぐ。
補足
- 環境変数の値はスクリプト内の処理から更新(書き込み)することができないため、RESTで動的に取得した値をGETのリクエストヘッダへ渡す用途には使用できません。
- loop処理でログ出力を抑制した場合、通常infoログに出力されるレスポンスのステータスコードなども表示されなくなります。レスポンスのステータスコードなどを確認したい場合は、loop処理の外でGET実行のコンポーネント変数をスクリプト変数に格納するなどで対応してください。
- スケジュールジョブの実行ではログレベルがinfoに固定されますが、上記のloop処理を使用する方法で対応できます。
- 参考マニュアル:[[REST]GET実行](https://www.hulft.com/help/ja-jp/HULFTSquare/Content/Designer/Connector/rest_execute_http_get.htm)
コメント
0件のコメント
記事コメントは受け付けていません。