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

# Validate 端口

> 透過可配置的基於 XPath 的規則執行 XML 或訊息頭驗證，在錯誤影響後續工作流程之前捕獲無效資料。

Validate 端口執行 XML 或訊息頭驗證的步驟，以便在之後的工作流程中捕獲無效的 XML 檔案或訊息頭。

## 核心功能

* 使用可配置的規則和條件進行 XML 及訊息頭驗證
* 基於 XPath 的 XML 內容驗證，支援透過範例檔案建立規則
* 針對字串、數字和日期時間（DateTime）值的資料型別驗證
* 支援基於分組的規則管理，具備複雜的邏輯條件（與/或）

## 概觀

Validate 端口可配置一條或多條規則，來決定輸入的 XML 檔案或訊息頭是否被視為有效。有效的 XML 或訊息頭輸入將會成功地透過端口，未透過驗證的 XML 檔案或訊息頭將會擲回錯誤且不能在工作流程中傳輸。新增一個驗證步驟幫助防止出錯。

驗證規則配置有一個 XPath、一個運算子以及一個目標值。對於每個配置的規則，端口將會對比輸入 XML 中的值與目標值，來確定是否將其視為有效，更多詳情請查閱[規則索引標籤](#規則索引標籤)。

## 端口配置

本部分包括所有可配置的端口屬性。

### 規則索引標籤

*新增和配置規則和規則組。輸入 XML 和訊息頭如果符合所有配置的規則，則被視為有效。*

| 設定 | 說明 |
| - | - |
| **端口 ID** | 端口的靜態唯一識別碼。 |
| **端口型別** | 顯示端口名稱及其功能描述。 |
| **端口描述** | 可選欄位，用於自由填寫端口的描述及其在工作流程中的作用。 |
| **範例檔案** | （可選）表示正在驗證的 XML 結構的檔案。如果上傳範例檔案，規則編輯器會顯示文件的樹形表示形式，以便可以輕鬆找到所需的 XPath。 |

您可以透過定義單個規則和/或規則組來構建複雜的驗證。要新增驗證規則，請點選 **Add Rule** 或 **Add Group**。

構建規則時，使用下拉功能表進行選擇並選擇運算子。您可以從以下選項中進行選擇：

* 輸入XML
  * 值：正在評估的 XPath 處的值
  * 資料型別：值的資料型別（字串、數字、日期時間）
  * 出現次數：XPath 在文件中出現的次數
* 訊息頭
  * 值：正在評估的訊息頭的值
  * 值型別：值的資料型別（字串、數字、日期時間）

選擇規則的 XPath 時，如果您已上傳樣本檔案，編輯器會顯示文件的樹形表示，以便您輕鬆找到所需的 XPath，如下圖所示。

![](https://mintcdn.com/qiao/V5zXPPmcRAz2rNUe/26.4/images/validate_select.png?fit=max\&auto=format\&n=V5zXPPmcRAz2rNUe\&q=85\&s=9c1bf4fe1661e76d14c828c9f53bb88a)

您可以重新排列規則和組。點選手柄 ![handle](https://mintcdn.com/qiao/cAp6sdkg0SyWJqZM/26.4/images/xmlmap_condition_handle.png?fit=max\&auto=format\&n=cAp6sdkg0SyWJqZM\&q=85\&s=8557e0a3f070ada9298f149e9ab28cbc) 並將物件拖到新位置。

僅當所有驗證規則（或規則組）都滿足時，輸入 XML 才被視為有效。如果在輸入 XML 中找不到規則中配置的 XPath，驗證將自動失敗。換句話說，如果端口無法讀取規則 XPath 的值，輸入檔案將不會透過該規則。

### 設定索引標籤

#### 端口設定

<table><thead><tr><th>設定</th>
<th>描述</th></tr></thead>
<tbody><tr><td>**端口 Id**</td>
<td>端口的靜態、唯一識別碼。</td></tr>
<tr><td>**端口型別**</td>
<td>顯示端口型別及其用途的描述。</td></tr>
<tr><td>**端口描述**</td>
<td>一個可選欄位，用於提供端口及其在流中的角色的自由格式描述。</td></tr></tbody></table>

### 進階設定索引標籤

| 設定 | 說明 |
| - | - |
| **處理延遲** | 放置在**交易**索引標籤中的檔案被延遲處理的時間（秒）。這是一個遺留設定。最佳實踐是[使用 File 端口](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/flows/designing-a-flow.md#與本地檔案系統互動)來管理本地檔案系統，而不是使用此設定。 |

#### 訊息

*訊息設定確定端口如何搜尋訊息並在處理後管理它們。*

**注意：**以下設定已棄用，預設處於隱藏狀態。只有先前已啟用這些設定或將其配置為非預設值的端口才會顯示它們。若要保留成功處理的檔案副本，請在工作流程中右鍵單擊該端口，選擇**顯示成功路徑**，然後將成功路徑連線到 [File 端口](https://docs.kasoftware.com/26.4/self-hosted/zh/connectors/file.md)。

<table><thead><tr><th>設定</th><th>描述</th></tr></thead>
<tbody><tr><td>**儲存到已傳送資料夾**（已棄用）</td>
<td>將端口處理的檔案複製到 Sent 資料夾。預設停用。儲存到 Sent 資料夾中的檔案不受[靜態加密](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/encryption-at-rest.md)保護。</td></tr>
<tr><td>**已傳送資料夾方案**（已棄用）</td>
<td>按所選時間間隔對 **Sent** 資料夾中的檔案進行分組。僅在啟用**儲存到已傳送資料夾**時適用。</td></tr></tbody></table>

#### 日誌

*用於管理日誌建立和儲存的設定。*

<table><thead><tr><th>設定</th>
<th>描述</th></tr></thead>
<tbody><tr><td>**日誌級別**</td>
<td>指定要記錄在端口日誌目錄中的資訊型別：
<ul><li>**None** - 不建立任何日誌。</li>
<li>**Error** - 僅當端口遇到錯誤時才建立日誌。</li>
<li>**Warning** - 僅當端口發出警告時才建立日誌。</li>
<li>**Info** - 記錄工作流程的一般資訊，包括任何錯誤和警告（如果適用）。</li>
<li>**Debug** - 記錄成功和失敗工作流程的詳細偵錯資訊。</li>
<li>**Trace** - 記錄成功和失敗工作流程的詳細跟蹤資訊。</li></ul>
\*\*請注意：\*\***Debug** 和 **Trace** 級別的日誌可能會記錄敏感資訊，包括訊息內容和 SSL 憑證。儘管連線屬性（例如密碼）被遮蔽了，但在與您的組織外部共享它們之前，請檢視此級別的日誌以避免洩漏敏感資訊。</td></tr>
<tr><td>**日誌資料夾結構**</td>
<td>指示端口根據選定的時間間隔將日誌資料夾中的檔案分組。例如，**Weekly** 選項指示端口每週建立一個新的子資料夾，並將該周的所有日誌儲存在該資料夾中。空白設定告訴端口將所有日誌直接儲存在日誌資料夾中。對於處理許多交易的端口，使用子資料夾有助於保持日誌的有序性並提高效能。</td></tr>
<tr><td>**保留訊息副本**</td>
<td>指示端口在日誌目錄中儲存最新訊息副本的切換。請注意，端口每個子資料夾只保留一個訊息，並且端口在再次執行時會覆蓋以前儲存的訊息。</td></tr></tbody></table>

#### 其他設定

| 設定 | 說明 |
| - | - |
| **處理延遲** | 放置在**交易**索引標籤中的檔案被延遲處理的時間（秒）。這是一個遺留設定。最佳實踐是[使用 File 端口](https://docs.kasoftware.com/26.4/self-hosted/zh-Hant/flows/designing-a-flow.md#與本地檔案系統互動)來管理本地檔案系統，而不是使用此設定。 |

#### 雜項設定

*特殊設定適用於特定用例。*

<table><thead><tr><th>設定</th>
<th>描述</th></tr></thead>
<tbody><tr><td>**其他設定**</td>
<td>允許在以分號分隔的清單中配置隱藏的端口設定，例如 `setting1=value1;setting2=value2`。正常的端口用例和功能不需要使用這些設定。</td></tr></tbody></table>

### 自動化索引標籤

*與端口自動處理檔案相關的設定。*

| 設定 | 說明 |
| - | - |
| **傳送** | 到達端口的訊息是否自動進行處理。 |

#### 效能

*與端口資源分配相關的設定。*

<table><thead><tr><th>設定</th>
<th>描述</th></tr></thead>
<tbody><tr><td>**最大工作執行緒數**</td>
<td>此端口上處理檔案時從執行緒池中消耗的最大工作執行緒數。如果設定，則會覆蓋 [進階設定](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/advanced-settings.md) 頁面的 [效能設定](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/performance-settings.md) 部分的預設設定。</td></tr>
<tr><td>**最大檔案數**</td>
<td>分配給端口的每個執行緒傳送的最大檔案數。如果設定，則會覆蓋 [進階設定](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/advanced-settings.md) 頁面的 [效能設定](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/performance-settings.md) 部分的預設設定。</td></tr></tbody></table>

### 告警索引標籤

*與配置通知相關的設定。*

在執行服務級別協議 (SLA) 之前，需要設定電子郵件通知以接收通知。預設情況下，知行之桥 使用 [通知](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/settings/alerts.md) 索引標籤上的全域設定。要為此端口使用其他設定，請啟用 **覆蓋全域設定**。

預設情況下，錯誤通知處於啟用狀態，這意味著每當出現錯誤時都會傳送電子郵件。要關閉錯誤通知，請取消選中 **啟用** 核取方塊。

輸入 **主題**（必填）。勾選**允許在主題中使用 ArcScript**，即可在**主題**欄位中使用 ArcScript。選中後會顯示 **ArcScript 編輯器**按鈕（![ArcScript 編輯器按鈕](https://docs.kasoftware.com/26.4/images/rest_arcscript_editor.png)）。

（可選）輸入以逗號分隔的**收件人**電子郵件地址清單。

### SLA 索引標籤

*與配置服務級別協議 (SLA) 相關的設定。*

SLA 允許配置預期流程中端口傳送或接收的資料量，並設定預期達到該資料量的時間範圍。當 SLA 未達到時，知行之桥 會傳送電子郵件警告使用者，並將 SLA 標記為 *存在風險*，這意味著如果 SLA 未能儘快達到，則會被標記為 *已違反*。這讓使用者有機會介入並確定 SLA 未達到的原因，並採取適當的措施。如果在風險時間段結束時仍未達到 SLA，則會將 SLA 標記為已違反，並再次通知使用者。

SLA 轉換為 *存在風險* 或 *已違反* 狀態時，也會寫入[應用程式日誌](https://docs.kasoftware.com/26.4/self-hosted/zh/getting-started/administration/activity.md#应用程序日志)，這意味著應用程式效能監控 (APM) 和日誌擷取工具也可以針對這些狀態發出警示。

要定義 SLA，請啟用 **預期資料量**，然後點選 **設定** 索引標籤。

![SLA Empty](https://docs.kasoftware.com/26.4/images/sla_empty.png)
<ul><li>如果端口具有單獨的傳送和接收操作，請使用選項按鈕指定 SLA 適用的方向。</li>
<li>在視窗的 **預計至少** 部分中：
<ul><li>設定預計處理的最小交易數量（交易量）</li>
<li>使用 **每個** 欄位指定時間範圍</li>
<li>指示 SLA 生效的時間。如果選擇 **開始於**，請填寫日期和時間欄位。</li>
<li>勾選希望 SLA 生效的星期幾對應的核取方塊。如有必要，請使用下拉功能表選擇 **每天**。</li></ul></li>
<li>在視窗的 **將狀態設定為“有風險”** 部分中，指定應將 SLA 標記為有風險的時間。
<ul><li>預設情況下，只有在違反 SLA 的情況下才會傳送通知。要更改此設定，請勾選 **傳送“有風險”通知**。</li></ul></li></ul>

以下範例顯示了為端口配置的 SLA，該端口預計在週一至週五每天接收 1000 個檔案。如果尚未收到 1000 個檔案，則會在時間段結束前 1 小時傳送風險通知。

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

> [!NOTE]
>
> 如果有必要，可以關閉 SLA 通知。這在維護視窗期間非常有用。點選導覽列上的 **設定**，然後跳轉到 **通知 > 通用通知**。點選平板和鉛筆圖示進行編輯，並取消勾選 **SLA 通知** 設定。


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