> ## Documentation Index
> Fetch the complete documentation index at: https://docs.arc.cdata.com/llms.txt
> Use this file to discover all available pages before exploring further.

# REST V1 Connector (Deprecated)

> 動的なREST リクエストを構築するための従来のREST コネクタです。このバージョンは非推奨です。新しいフローには現行のREST コネクタを使用してください。

REST コネクタは、RESTful API Web サービスを利用するための動的なREST リクエストの構築をサポートします。

## Key Capabilities

* すべてのHTTP メソッド（GET、POST、PUT、PATCH、DELETE）をサポートする完全なRESTful API クライアント
* API の自動設定とリクエスト生成のためのSwagger インポート機能
* OAuth 2.0、Bearer Token、AWS Signature、Basic / Digest 認証を含む高度な認証
* URL、ヘッダー、フォームデータでのArcScript サポートによる動的なリクエスト構築
* raw、form-data、URL エンコード、ファイルアップロードを含む柔軟なボディタイプ

## Overview

REST コネクタは、REST リクエストのヘッダー、認可、ボディ、HTTP メソッドを構築するためのシンプルなインターフェースを公開します。リクエストボディは、コネクタの設定で静的に設定することも、コネクタが処理するファイルに基づいて動的に生成することもできます。

### Actions

このコネクタは、3 つのコネクタアクションタイプのいずれも実行できます。

• *Trigger* は、スケジュールに基づいてrequestを実行し、フローに送信するファイルを生成する場合があります。このアクションはフローの起点として機能します。

• *Transform* は、フローからのメッセージをrequestへの入力として受け取り、出力を生成します。このアクションはフローの中間として機能します。

• *Terminal* は、フローからのメッセージをrequestへの入力として受け取り、フローの終端として機能します。

## Connector Configuration

### REST Details Tab

*コネクタのリクエスト詳細に関連する設定。*

![](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_details_tab.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=d5b83dcbe8cfe959fefdc8972b714b7f)

#### Authentication

*REST サービスでの認証に関連する設定。*

| 設定 | 説明 |
| - | - |
| **Authentication Type** | REST サービスで使用する認証の種類。オプションは選択内容によって異なります。詳しくは、[Authenticating](#authenticating)を参照してください。 |
| **TLS Server Certificate** | TLS サーバーのアイデンティティを検証するために使用される公開鍵証明書。証明書をアップロードするか、フィールドを空白のままにして基底のOS / JVM に証明書の検証を実行させるか、または`Any Certificate` に設定してターゲットサーバーのアイデンティティを信頼することができます。Any Certificate は慎重に使用してください。証明書は、意図したサーバーに接続していることを検証するものです。 |

#### Request Details

| 設定 | 説明 |
| - | - |
| **Import from Swagger** | ![import from swagger](https://mintcdn.com/cdata-arc/fuF73A8feEsIWbbA/26.4/images/rest_import_from_swagger.png?fit=max\&auto=format\&n=fuF73A8feEsIWbbA\&q=85\&s=b74144e153de876d68d5dd25b4dab539) アイコンをクリックすると、Swagger URL から直接API の詳細をインポートできます。 |
| **Test** | フローに送信されるメッセージやトランザクションを作成せずに、現在の設定をテストします。**Test** をクリックすると、4つのタブを持つウィンドウが開きます（詳しくは、[Testing Request Configurations](#testing-request-configurations)を参照してください）： **Response Body**：サーバーからの応答のボディを表示します。 **Response Headers**：サーバーからの応答に含まれていたヘッダーを表示します。 **Message Headers**：テストの出力に含まれていたメッセージヘッダーを表示します。 **Log**：コネクタログを表示します。 |
| **Action** | コネクタが実行するアクション。（3つのオプションの詳細については、[Actions](#actions)を参照してください。） |
| **Request URL** | REST リクエストのHTTP メソッドとターゲットHTTP URL。利用可能なメソッドのオプションは、GET、POST、PUT、PATCH、DELETE です。 |
| **Body Type** | REST リクエストとともに供給されるボディコンテンツの種類。HTTP メソッドがGET の場合は表示されません。各オプションの説明については、[Body Types](#body-types)を参照してください。 |
| **Headers** | **Headers** タブでは、送信するREST リクエストに含めるHTTP ヘッダーの一覧を追加できます。ヘッダーは名前と値のペアとして指定します。詳しくは、[Static Requests](#static-requests)を参照してください。 |
| **Body** | **Body Type** が`form-data` または`x-www-urlencoded` に設定されている場合は、**Body** タブを使用して、リクエストのボディを構成する名前と値のペア（フィールド）のセットを供給します。詳しくは、[Body Types](#body-types)を参照してください。 |

### Settings Tab

*コネクタのコアとなる設定に関連する設定。*

#### Configuration

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Connector Id**</td>
<td>コネクタの静的で一意の識別子です。</td></tr>
<tr><td>**Connector Type**</td>
<td>コネクタ名とその機能の説明を表示します。</td></tr>
<tr><td>**Connector Description**</td>
<td>コネクタおよびフロー内でのその役割について自由形式の説明を提供するためのオプションフィールドです。</td></tr></tbody></table>

#### Advanced Settings

| 設定 | 説明 |
| - | - |
| **Local File Scheme** | コネクタが出力するメッセージにファイル名を割り当てるためのスキーム。ファイル名にマクロを使用して、識別子やタイムスタンプなどの情報を動的に含めることができます。詳しくは、[Macros](#macros)を参照してください。 |

### Advanced Tab

#### TLS Client Authentication

*双方向TLS 認証が必要な場合のクライアント認証に関する設定です。*

<table><thead><tr><th>設定</th><th>説明</th></tr></thead>
<tbody><tr><td>**Private Certificate**</td>
<td>TLS クライアント認証時に提示されるプライベート証明書です。</td></tr>
<tr><td>**Certificate Password**</td>
<td>TLS クライアント証明書にアクセスするために必要なパスワードです。</td></tr></tbody></table>

#### Advanced Settings

*前のカテゴリに含まれない設定。*

| 設定 | 説明 |
| - | - |
| **ArcScript in Headers** | クエリが発行される前に、ヘッダー内のArcScript 式の評価を許可します。例については、[URL](#url) セクションを参照してください。 |
| **ArcScript in URL** | クエリが発行される前に、URL 内のArcScript 式の評価を許可します。例については、[Headers](#headers) セクションを参照してください。 |
| **Output Error Responses** | デフォルトでは、成功を示さないステータスコードで応答が送信された場合、コネクタはフローにメッセージを出力しません。この設定を有効にすると、こうしたエラー応答についてコネクタがフローにメッセージを出力するようになります。フローの後段でHTTP-Status-Code ヘッダーを使用してメッセージをフィルタリングできます。 |
| **Chunked Encoding** | リクエストの送信時にHTTP Chunked Transfer Encoding を使用するかどうか。これにより、アプリケーションはメッセージの一部（チャンク）を順次送信し、接続への過負荷を回避できます。 |
| **Chunk Size** | **Chunked Encoding** が有効な場合の各チャンクのサイズ（バイト単位）。 |
| **Compression** | リクエストを送信する前に、PUT またはPOST リクエストのボディを`gzip` 形式に圧縮するかどうか。送信するリクエストには**Content-Encoding** ヘッダーも追加されます。 |
| **GET Request Body** | GET リクエストが入力メッセージのデータをリクエストのボディとして使用できるようにします。 |
| **HTTP Version** | REST サービスへの接続時にHTTP 1.0、1.1、2.0 のいずれを使用するか。 |
| **Output Behavior** | デフォルトでは、コネクタは`Response` データを含むメッセージを出力します。他のオプションでは、さらに処理できるように`Input Message` を出力したり、メッセージをまったく出力しないようにしたりできます。詳しくは、[Response Event](#response-event)を参照してください。 |
| **Timeout (seconds)** | タイムアウトエラーをスローする前に、REST サーバーからの応答を待機する秒数。 |
| **Response Headers** | 設定すると、コネクタはREST メッセージから指定されたヘッダーを、ダウンロードされたメッセージのメタデータとして昇格させます。カンマ区切りのリストで複数のヘッダーを指定できます。 |
| **Preserve Cookies** | 出力メッセージにクッキーを保持するには、保持するクッキー名のカンマ区切りのリストを供給します。すべてのクッキーを保持するには`*` を使用します。**Note**：名前と値のペアのみが保持され、属性のチェックは実行されません。クッキーが意図しない宛先に漏洩しないようにするのはユーザーの責任です。 |
| **TLS Enabled Protocols** | 送信接続を確立する際にサポートされるTLS / SSL プロトコルのリスト。ベストプラクティスは、TLS プロトコルのみを使用することです。一部の古いオペレーティングシステムはTLS 1.2 をサポートしていません。 |

#### Proxy Settings

これらは、接続のルーティング先となるプロキシを識別し認証するための一連の設定です。デフォルトでは、このセクションは[Security Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/security.md) ページの[Proxy Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/proxy-settings.md) 部分にあるグローバル設定を使用します。チェックボックスをオフにすると、コネクタ固有の設定を指定できます。

<table><thead><tr><th>設定</th><th>説明</th></tr></thead>
<tbody><tr><td>**Proxy Type**</td>
<td>プロキシベースのファイアウォールで使用されるプロトコル。</td></tr>
<tr><td>**Proxy Host**</td>
<td>プロキシベースのファイアウォールの名前またはIP アドレス。</td></tr>
<tr><td>**Proxy Port**</td>
<td>プロキシベースのファイアウォールのTCP ポート。</td></tr>
<tr><td>**Proxy User**</td>
<td>プロキシベースのファイアウォールで認証するために使用するユーザー名。</td></tr>
<tr><td>**Proxy Password**</td>
<td>プロキシベースのファイアウォールで認証するために使用するパスワード。</td></tr>
<tr><td>**Authentication Scheme**</td>
<td>デフォルトの**None** のままにするか、次の認証スキームのいずれかを選択します：**Basic**、**Digest**、**Proprietary**、または**NTLM**。</td></tr></tbody></table>

#### Logging

*ログの作成と保存を制御する設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Log Level**</td>
<td>コネクタが生成するログの詳細度です。サポートを依頼する際は、これを**Debug** に設定してください。</td></tr>
<tr><td>**Log Subfolder Scheme**</td>
<td>選択した間隔に従って、コネクタがLogs フォルダ内のファイルをグループ化するよう指示します。**Weekly** オプション（デフォルト）は、コネクタが毎週新しいサブフォルダを作成し、その週のすべてのログをそのフォルダに保存するよう指示します。この設定を空白のままにすると、コネクタはすべてのログをLogs フォルダに直接保存します。多数のトランザクションを処理するコネクタでは、サブフォルダを使用することでログを整理しやすくなり、パフォーマンスが向上します。</td></tr>
<tr><td>**Log Messages**</td>
<td>処理したファイルのログエントリにファイル自体のコピーを含めるには、これをオンにします。これを無効にすると、**Transactions** タブからファイルのコピーをダウンロードできなくなる場合があります。</td></tr></tbody></table>

#### Miscellaneous

*Miscellaneous 設定は、特定のユースケース向けの設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Other Settings**</td>
<td>非表示のコネクタ設定をセミコロン区切りのリストで設定できます（例：`setting1=value1;setting2=value2`）。通常のコネクタのユースケースや機能では、これらの設定の使用は必要ありません。</td></tr></tbody></table>

### Automation Tab

#### Automation Settings

*コネクタによるファイルの自動処理に関連する設定。*

| 設定 | 説明 |
| - | - |
| **Send** | ファイルの準備ができたときに、コネクタが自動的にファイルを送信するよう指示するトグル。 |
| **Retry Interval** | 失敗した送信を再試行するまでにコネクタが待機する間隔。 |
| **Max Attempts** | コネクタがメッセージの送信を試行する回数。この値を *1* に設定すると、コネクタは再試行せずに最初の送信試行のみを行います。コネクタは各試行の間に**Retry Interval** で指定された時間だけ待機します。 |
| **Receive** | 設定された間隔でコネクタが自動的にREST リクエストを行うよう指示するトグル。 |
| **Receive Execution Interval** | コネクタが設定されたREST リクエストを行う間隔。ここでの選択によって次のフィールドが異なります： **Hourly**：*Minutes Past the Hour* ドロップダウンメニューで、受信ファイルを処理する正時からの分数を指定できます。 **Daily**：受信ファイルを処理する時刻（UTC）を指定する *Time* フィールドが表示されます。 **Weekly**：2つのフィールドが表示されます。*Day* では処理する曜日を選択でき、*Time* では受信ファイルを処理する時刻（UTC）を指定できます。 **Monthly**：2つのフィールドが表示されます。*Day* では処理する日にちを選択でき、*Time* では受信ファイルを処理する時刻（UTC）を指定できます。 **Minute**：処理間隔の分数を指定する *Minutes* フィールドが表示されます。 **Advanced**：5つの位置を持つ *Cron Expression* フィールドで、正確な処理間隔を指定できます。 |
| **Minutes Past the Hour** | 1時間ごとのスケジュールの分オフセット。**Receive Interval** が *Hourly* に設定されている場合にのみ適用されます。例えば、この値が5に設定されている場合、オートメーションサービスは1:05、2:05、3:05 などにリクエストを送信します。 |

#### Performance

*コネクタへのリソースの割り当てに関する設定です。*

<table><thead><tr><th>設定</th>
<th>説明</th></tr></thead>
<tbody><tr><td>**Max Workers**</td>
<td>このコネクタでファイルを処理するためにスレッドプールから消費されるワーカースレッドの最大数です。設定すると、[Advanced Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/advanced-settings.md) ページの[Performance Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/performance-settings.md) 部分にあるデフォルト設定が上書きされます。</td></tr>
<tr><td>**Max Files**</td>
<td>コネクタに割り当てられた各スレッドが送信するファイルの最大数です。設定すると、[Advanced Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/advanced-settings.md) ページの[Performance Settings](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/performance-settings.md) 部分にあるデフォルト設定が上書きされます。</td></tr></tbody></table>

### Alerts Tab

*アラートの設定に関する設定です。*

サービスレベルアグリーメント（SLA）を実行する前に、通知用のメールアラートをセットアップする必要があります。デフォルトでは、Arc は[Alerts](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/alerts.md) タブのグローバル設定を使用します。このコネクタに別の設定を使用するには、**Override global setting** をオンに切り替えます。

デフォルトではエラーアラートが有効になっており、エラーが発生するたびにメールが送信されます。これをオフにするには、**Enable** チェックボックスのチェックを外します。

**Subject**（必須）を入力します。**Allow ArcScript in Subject** をチェックすると、**Subject** フィールドでArcScript を使用できます。これを選択すると、**ArcScript エディタ**ボタンが表示されます（![arcscript editor button](https://docs.arc.cdata.com/26.4/images/rest_arcscript_editor.png)）。

必要に応じて**Recipient** のメールアドレスをカンマ区切りのリストで入力します。

### SLAs Tab

*サービスレベルアグリーメント（SLA）の設定に関する設定です。*

SLA を使用すると、フロー内のコネクタが送受信すると見込まれるボリュームを設定し、そのボリュームを達成すると見込まれる期間を設定できます。CData Arc は、SLA が達成されない場合にユーザーへ警告するメールを送信し、SLA を*At Risk* としてマークします。これは、SLA が間もなく達成されない場合に*Violated* としてマークされることを意味します。これにより、ユーザーは介入してSLA が達成されない理由を特定し、適切な対応を取る機会を得られます。At Risk 期間の終了時点でもSLA が達成されない場合、SLA はviolated としてマークされ、ユーザーに再度通知されます。

SLA が*At Risk* または*Violated* に移行したことも[アプリケーションログ](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/activity.md#アプリケーションログ)に書き込まれるため、Application Performance Monitoring（APM）やログ収集ツールでもアラートを設定できます。

SLA を定義するには、**Expected Volume** をオンに切り替え、**Settings** タブをクリックします。

![SLA Empty](https://docs.arc.cdata.com/26.4/images/sla_empty.png)
<ul><li>コネクタに送信と受信の個別のアクションがある場合は、ラジオボタンを使用してSLA がどちらの方向に適用されるかを指定します。</li>
<li>ウィンドウの**Expect at least** 部分で、次を設定します。
<ul><li>処理を見込む最小トランザクション数（ボリューム）を設定します。</li>
<li>**Every** フィールドを使用して期間を指定します。</li>
<li>SLA を有効にするタイミングを指定します。**Starting on** を選択した場合は、日付および時刻フィールドを入力します。</li>
<li>SLA を有効にしたい曜日のチェックボックスをオンにします。必要に応じて、ドロップダウンで**Everyday** を選択します。</li></ul></li>
<li>ウィンドウの**Set status to 'At Risk'** 部分で、SLA をAt Risk としてマークするタイミングを指定します。
<ul><li>デフォルトでは、SLA が違反状態になるまで通知は送信されません。これを変更するには、**Send an 'At Risk' notification** をオンにします。</li></ul></li></ul>

次の例は、月曜日から金曜日まで毎日1000 件のファイルを受信すると見込むコネクタ向けに設定されたSLA を示しています。1000 件のファイルが受信されていない場合、期間の終了の1時間前にAt Risk 通知が送信されます。

![SLA Configuration Example](https://docs.arc.cdata.com/26.4/images/sla_defined.png)

> [!NOTE]
>
> 必要に応じてSLA アラートをオフにすることができます。これはメンテナンスウィンドウ中に役立ちます。navbar で**Settings** をクリックし、**Alerts > General Alerts** に移動します。タブレットと鉛筆のアイコンをクリックして編集し、**SLA Alerts** 設定のチェックを外します。

### Transactions Tab

このタブには、コネクタに関連するすべてのメッセージが一覧表示されます。検索バーを使用して特定のメッセージを見つけるか、じょうごアイコンをクリックしてフィルタを適用します。時間、メッセージの方向、ステータスでフィルタリングできます。

このタブのオプションは、コネクタの[アクションタイプ](#actions)によって異なります：

* コネクタが**Trigger** の場合は、**Receive Files** ボタンを使用してフローを開始します。
* コネクタが**Transform** または**Terminal** の場合は、**Upload Files** ボタンを使用してフローにファイルをアップロードします。

## Establishing a Connection

任意のREST サービスへの接続を確立するには、有効なターゲットURL が必要です。サービスURL はさまざまなHTTP メソッドをサポートでき、取得する特定のWeb サービスのアクションやデータセットに基づいて**Method** を設定する必要があります。一部のサービスでは、サービスを利用するために認証やカスタムヘッダーのセットが必要になる場合もあります。

ターゲットURL がHTTPS URL の場合は、**TLS Server Certificate** をサーバーを識別する公開鍵証明書に設定します。ターゲットエンドポイントを暗黙的に信頼するには、フィールドを`Any Certificate` に設定します。

### Authenticating

REST コネクタはいくつかの認証タイプをサポートしており、各タイプにはそれぞれの要件があります：

* Basic（プレーンテキスト）、Digest（暗号化）、NTLM では、ユーザー名とパスワードによる認証が必要です。これらの認証情報は、リクエスト内のヘッダーとしてREST サービスに供給されます。

* OAuth 認証では、REST サービスのWeb ポータルまたは開発コンソールでのアプリ登録が必要です。アプリ登録に含める**Callback URL** は、Arc のUI に表示されます。REST サービスに該当する**Grant Type** を選択し、REST サービスのWeb ポータルまたは開発コンソールに表示される詳細から残りの設定を指定します。次に、**Get New Access Token** をクリックして、サービスとやり取りするために必要なトークンを取得します。最初のトークンが取得されると、アプリケーションは有効期限が近づくとトークンを更新します。

* Bearer Token 認証では、サービスのWeb ポータルまたは開発コンソールからのトークンが必要です。

* Amazon に対して認証するためのAWS Signature 認証では、Amazon が提供する設定の認証情報（**Access Key**、**Secret Key** など）が必要です。

## Testing Request Configurations

フローに送信されるメッセージやトランザクションを作成せずに、いつでも現在の設定をテストできます。**REST Details** タブで**Test** をクリックします。次の画像は、成功したテストの**Response Body** の結果を示しています。

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_test_tab.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=3035ccb5e8f0f79e517aaf2749486784)

* **Response Body**：サーバーから返された形式でREST リクエストの出力を表示します。
* **Response Headers**：サーバーから返された応答に含まれていた応答ヘッダーを表示します。
* **Message Headers**：テストの出力に含まれていたメッセージヘッダーを表示します。
* **Log**：テストログを表示します。

## Body Types

コネクタの[Request Details](#request-details) タブを使用して、ボディの構成方法と供給する情報の種類を指定します。次のリストでは、各オプションについてより詳しく説明します。

* **none**：REST リクエストとともにボディは供給されません。
* **form-data**：ボディは名前と値のペア（フィールド）のセットとして供給されます。**Name** の横にあるドロップダウンリストを使用して、フィールドタイプを選択します。
  * **Static**：**Name** と**Value** の両方を供給します。
  * **XML**：UI で**Name** を供給します。**Value** は、コネクタが処理する入力ファイルから動的に読み取られます。詳しくは、[Dynamic Form Data](#dynamic-form-data)を参照してください。
  * **File**：各コネクタは、1つのボディフィールドをFile に設定できます。これにより、入力ファイルがリクエストのボディで送信されます。コネクタが入力ファイル自体をフォームデータとして使用するため、**Value** フィールドはグレーアウトされます。\
    **Note**：**File** オプションは、動的リクエストや他のファイルリクエストと互換性がありません。このオプションを使用する場合は、静的フィールドとのみ組み合わせることができます。
  * **Header**：**Value** フィールドを使用して、ボディのために入力メッセージから読み取るヘッダーを指定します。
  * **ArcScript**：供給された**Value** はArcScript としてレンダリングされ、結果の値がリクエストボディで使用されます。
* **x-www-urlencoded**：ボディはform-data と同じ方法で構成されます。ただし、名前と値のペアはマルチパートフォームデータではなく、URL クエリ文字列としてエンコードされます。
* **raw**：ボディは、コネクタが処理する入力ファイルの内容に設定されます。ドロップダウンを使用するか、**Header** セクションでカスタムヘッダーとして指定して、ボディの**Content Type** を選択します。

## Static Requests

完全に静的なコンテンツを持つREST リクエスト（HTTP GET メソッドを使用するリクエストなど）は、リクエストのコンテンツがコネクタのUI で完全に設定されるため、入力ファイルを必要としません。**Header** セクションにカスタムヘッダーとして、または**Body** セクションにフォームデータとして、必要な名前と値のペアを追加するだけです。

**Receive Automation** が有効な場合、静的リクエストはスケジュールに従って自動的に送信できます。各リクエストへの応答は、出力フォルダに保存されるか、フロー内の次のコネクタに渡されます。

**Send Automation** が有効な場合、コネクタの入力フォルダに到着したファイルも静的リクエストをトリガーします。入力ファイルの内容は無視され、UI の設定に従ってリクエストが送信されます。

## Dynamic Requests

REST リクエストは、コネクタの入力フォルダに到着したファイルのデータで動的に設定できます。

### Raw Input Data

リクエストの**Body Type** を`raw` に設定すると、入力ファイルの内容がREST リクエストのボディとして送信されます。

**Content Type** ドロップダウンを使用して、データの特定のコンテンツタイプを設定します。必要なコンテンツタイプが一覧にない場合は、**Header** セクションに *Content-Type* ヘッダーを追加できます。

### Dynamic Form Data

リクエストの**Body Type** を`form-data` または`x-www-urlencoded` に設定すると、コネクタは入力ファイルから特定の値を探してリクエストを設定します。`XML` に設定された各名前と値のペアについて、コネクタは入力ファイルをスキャンして、フィールド名と同じ名前を共有し、次に示す特定のXML 構造を使用するXML 要素を探します：

```xml theme={null}
<Items>
  <FormData>
    <FieldName></FieldName>
  </FormData>
</Items>
```

この構造に合わせるため、CData は、後述の[とおり](#dynamic-templates-with-xml-map)、フロー内でREST コネクタの前にXML Map コネクタを使用することを強く推奨します。

コネクタがフィールド名と必要なXML 構造に一致する要素を見つけると、この要素内の値が名前と値のペアの値として使用されます。例えば、ボディに`CustomerID` という名前の動的フィールドがあり、入力ファイルに次に示すXML がある場合、REST コネクタは`CustomerID` フィールドの値を12354 に設定します。

```xml theme={null}
<Items>
  <FormData>
    <CustomerID>12354</CustomerID>
  </FormData>
</Items>
```

#### Dynamic Templates with XML Map

REST コネクタと組み合わせて[XML Map](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/xml-map/xml-map.md) コネクタを使用すると、他のXML データ構造から動的リクエストを簡単に構築できます。XML Map コネクタは、カスタムXML 構造を、REST コネクタが期待するXML 構造に変換します。

まず、リクエストに含めるべき動的（および静的）な**Body** フィールドのセットでREST コネクタを設定します。次に、Arc フローでREST コネクタにXML Map コネクタを接続し、フローの変更を保存します。これにより、XML Map コネクタは、REST コネクタが受信する入力ファイルでどのフィールドを期待しているかを検出できるようになります。

その後、XML Map コネクタ内で、**Destination File** ドロップダウンにREST リクエストスキーマが含まれます。これをDestination として選択し、**Source File** をカスタムXML 構造に設定します。これによりXML Map のMapping Editor が設定され、REST リクエストに含める必要があるデータをソース構造からデスティネーション構造にドラッグアンドドロップできます。マッピングが完了すると、XML Map コネクタは、ソースファイルに一致するファイルを有効なREST リクエスト構造に自動的に変換します。

XML Map コネクタの使用に関する詳細については、[XML Map コネクタのドキュメント](https://docs.arc.cdata.com/26.4/self-hosted/ja/connectors/xml-map/xml-map.md)を参照してください。

### URL

コネクタ設定ペインの[Advanced tab](#advanced-tab)で**Allow ArcScript in URL** を選択すると、ArcScript の式を評価して、URL として動的な文字列を生成できます。例えば、次のURL には日付と時刻が含まれます：

`http://myendpoint.com/api?day=[_ | now('yyyyMMdd')]`

次のURL には、送信オートメーションを通じてトリガーされるクエリのために、受信メッセージのヘッダーが含まれます：

`http://myendpoint.com/api?customer=[_message.header:customerid]`

最後に、次のURL は、最後のクエリの時刻から現在のタイムスタンプまでの動的な日付範囲を使用し、最初のクエリにはデフォルトのタイムスタンプを使用します：

`http://myendpoint.com/api?DateFrom=[_connector.lastruntimestamp | def('2025-01-01T00:00:00-04:00')]&DateTo=[_connector.currenttimestamp]`

### Headers

コネクタ設定ペインの[Advanced tab](#advanced-tab)で**Allow ArcScript in Headers** を選択すると、ArcScript の式を評価して、ヘッダー値として動的な文字列を生成できます。例えば、次のヘッダーには日付と時刻が含まれます：

`Timestamp [_ | now('yyyyMMdd')]`

次のヘッダーには、送信オートメーションを通じてトリガーされるクエリのために、顧客Id が含まれます：

`Customer [_message.header:customerid]`

## Response Event

REST コネクタでレスポンスイベントを使用すると、サーバーから受信した応答（ボディ、ヘッダー、クッキーなどを含む）とやり取りし、コネクタが生成する出力メッセージを拡充できます。`Response` イベントでは、次の特別なアイテムを使用できます。

* [\_cookies](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-クッキー-_cookies)
* [\_message](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#メッセージ-_message)
* [\_request](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-リクエスト-_request)
* [\_response](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/introduction-to-arcscript.md#http-レスポンス-_response)

### Response Event Example

このスクリプトは、REST 呼び出しから受信したJSON 応答を読み取り、JSON に含まれるアクセストークンを解析し、それをREST コネクタが作成する出力メッセージのヘッダーとして追加します：

```xml theme={null}
<arc:set attr="json.text" value="[_response.body]" />
<arc:set attr="json.map:access_token" value="/json/args/token" />
<arc:call op="jsonDOMGet" item="json">
  <arc:set attr="_message.header:access_token" value="[json.access_token | def('Token not found!')]"/>
</arc:call>
```

次の手順で何が行われるかを詳しく説明します：

1 Arc のREST コネクタにサーバーから返された応答のボディは、`_response.body` を介してアクセスされ、jsonDOMGet オペレーションのtext 属性に設定されます。jsonDOMGet の他の属性も設定されます。例えば、応答ボディ内の目的のトークンへのjsonpath を持つ`map` 属性などです。

2 jsonDOMGet オペレーションが呼び出されます。トークンが応答のJSON ボディ内で見つかると、`_message.header:access_token` 構文を介して、REST コネクタの出力メッセージにメッセージヘッダーとして追加されます。トークンが見つからない場合、`access_token` ヘッダーの値は静的な文字列 *Token not found!* に設定されます。

REST コネクタからのメッセージの出力メッセージ詳細を表示すると、Arc ではその結果が次のように表示されます：

![](https://mintcdn.com/cdata-arc/JuVWSaGlKX7avH_C/26.4/images/rest_response_event.png?fit=max\&auto=format\&n=JuVWSaGlKX7avH_C\&q=85\&s=bf069730a3bde367d12c37d0342f298c)

この種のスクリプトは、サーバーにリクエストを送信した後にサーバーから返された生のJSON 応答ボディからデータを解析する必要がある場合に役立ちます。その後、ヘッダーを読み取り、フロー内の後続のコネクタで使用できます。

> [!TIP]
>
> サーバーがXML を使用して応答する場合は、xmlDOMget を使用して同じ結果を得ることができます。

## Macros

ファイル命名戦略でマクロを使用すると、データの整理効率と文脈の理解を高めることができます。
ファイル名にマクロを組み込むことで、識別子、タイムスタンプ、ヘッダー情報などの関連情報を
動的に含めることができ、各ファイルに有用な文脈を提供します。

CData Arc は次のマクロをサポートしています。これらはすべて次の構文を使用します。`%Macro%`

<table><thead><tr><th>マクロ</th><th>説明</th></tr></thead>
<tbody><tr><td>ConnectorID</td><td>コネクタのConnectorID に評価されます。</td></tr>
<tr><td>ConnectorName</td><td>コネクタの名前に評価されます。ファイル名やパスに接続名を含めることができます。例えば、どのデータベース接続が生成したかによってバックアップファイルにタグを付けるために使用できます。</td></tr>
<tr><td>Ext</td><td>コネクタが現在処理しているファイルの拡張子に評価されます。</td></tr>
<tr><td>Filename</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を含む）に評価されます。</td></tr>
<tr><td>FilenameNoExt</td><td>コネクタが現在処理しているファイルのファイル名（拡張子を除く）に評価されます。</td></tr>
<tr><td>MessageId</td><td>コネクタが出力しているメッセージのMessageId に評価されます。</td></tr>
<tr><td>RegexFilename:*pattern*</td><td>コネクタが現在処理しているファイルのファイル名に正規表現パターンを適用します。</td></tr>
<tr><td>Header:*headername*</td><td>コネクタが現在処理しているメッセージ上の対象ヘッダー（`headername`）の値に評価されます。</td></tr>
<tr><td>LongDate</td><td>システムの現在の日時を長い形式（例：Wednesday, January 24, 2024）で評価します。</td></tr>
<tr><td>ShortDate</td><td>システムの現在の日時をyyyy-MM-dd 形式（例：2024-01-24）で評価します。</td></tr>
<tr><td>DateFormat:*format*</td><td>システムの現在の日時を指定された形式（`format`）で評価します。利用可能な日時形式については、[日付形式のサンプル](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/value-formatters/date-formatters.md#date-formats-with-literal-characters)を参照してください。</td></tr>
<tr><td>Vault:*vaultitem*</td><td>指定されたVault アイテムの値に評価されます。</td></tr></tbody></table>

### Examples

%Ext% や %ShortDate% などの一部のマクロは引数を必要としませんが、引数を必要とするものもあります。
引数を取るすべてのマクロは次の構文を使用します。`%Macro:argument%`

引数を取るマクロの例を次に示します。

<ul><li>%Header:headername%：`headername` はメッセージ上のヘッダーの名前です。</li>
<li>%Header:mycustomheader% は、入力メッセージに設定された`mycustomheader` ヘッダーの値に解決されます。</li>
<li>%Header:ponum% は、入力メッセージに設定された`ponum` ヘッダーの値に解決されます。</li>
<li>%RegexFilename:pattern%：`pattern` は正規表現パターンです。例えば、`%RegexFilename:^([\w][A-Za-z]+)%` は、ファイル名の最初の単語にマッチしてそれに解決され、大文字・小文字を区別しません（`test_file.xml` は`test` に解決されます）。</li>
<li>%Vault:vaultitem%：`vaultitem` は[Vault](https://docs.arc.cdata.com/26.4/self-hosted/ja/getting-started/administration/settings/global-settings-vault.md) 内のアイテムの名前です。例えば、`%Vault:companyname%` は、Vault に保存された`companyname` アイテムの値に解決されます。</li>
<li>%DateFormat:format%：`format` は許容される日付形式です（詳細は[日付形式のサンプル](https://docs.arc.cdata.com/26.4/self-hosted/ja/scripting/value-formatters/date-formatters.md#sample-date-formats)を参照してください）。例えば、`%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%` は、ファイルの日付とタイムスタンプに解決されます。</li></ul>

次の例に示すように、より高度なマクロを作成することもできます。

<ul><li>1 つのファイル名で複数のマクロを組み合わせる：`%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%%EXT%`</li>
<li>マクロの外側にテキストを含める：`MyFile_%DateFormat:yyyy-MM-dd-HH-mm-ss-fff%`</li>
<li>マクロの内側にテキストを含める：`%DateFormat:'DateProcessed-'yyyy-MM-dd_'TimeProcessed-'HH-mm-ss%`</li></ul>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.