跳轉到主要內容
Branch 端口在工作流程中起著分叉作用。檔案會根據端口中指定的條件是否為真,沿流程中的不同路徑傳送。

核心功能

  • 基於可配置條件的智慧流程路由:支援根據檔名、訊息頭、XPath 和 EDI 中繼資料進行跳轉。
  • 支援多種資料型別:支援字串 (String)、數字 (Number)、日期時間 (DateTime) 等型別,並配有靈活的比較運算子。
  • 進階 XPath 評估:支援針對 XML 文件路由的複雜 XPath 解析。
  • EDI 特定中繼資料分支:可根據文件型別進行 EDI 中繼資料分支。

概覽

分支條件可以檢查以下不同型別的值:
  • 檔名
  • 訊息上的訊息頭
  • 所有匹配的 XPath
  • 第一個匹配的 XPath
  • 一個或多個匹配的 XPath
  • EDI 中繼資料
注意:
  • 要使用 XPath 選項,正在評估的檔案必須是 XML 檔案。
  • EDI 中繼資料分支只能用於 EDI 文件。
Branch 端口配置確定要查詢的值以及要比較的_目標_值。如果傳入值與目標值匹配,則訊息會沿藍色虛線流程路徑傳遞。可以有多個目標值,每個目標值會將訊息沿不同流程路徑傳送。如果這些值與任何條件都不匹配,則訊息會沿灰色虛線路徑傳遞。 有關上圖的詳細說明,請參閱根據訊息頭進行分支。

端口配置

本節包含所有可配置的端口屬性。

Branch 配置索引標籤

與配置分支條件相關的設定。 分支設定允許為單個源值指定多個條件來定義分支。
設定描述
範例檔案如果上傳範例 XML 檔案,端口會在使用 XPath 進行比較時顯示文件結構。範例如下。
如果使用下拉式清單指定接收訊息時要比較的屬性。選項包括:訊息頭、檔名、所有匹配的 XPath、第一個匹配的 XPath、一個或多個匹配的 XPath,或 EDI 中繼資料。做出選擇後,請使用右側欄位進一步定義條件,如上方範例檔案圖所示。
資料型別目標值是字串、數字還是 DateTime。如果資料型別是 String,請使用 Trim string 和 Ignore case 核取方塊進一步細化比較。如果資料型別是 DateTime,請使用右側欄位指定 DateTime 值的結構。
修剪字串字串比較是否應忽略空格。
忽略大小寫

字串比較是否應區分大小寫。

分支設定部分的中心區域(如下圖所示)允許根據需要設定任意數量的條件。將滑鼠懸停在白色窗格上方或下方,然後選擇 Add Case 以新增條件。

每個條件由三個部分組成:

  • 運算子(例如 is equal to、contains、starts with 或 matches regex)
  • 與檔案中找到的值進行比較的值
  • Then output to 元件

建立流程時,將不同端口連線到 Branch 端口中的每個 case 語句,以建立 Then output to 端口。最後,將不同端口連線到 Else 條件,以告訴 知行之橋 在其他條件均不滿足時應執行什麼操作。

忽略缺失值是否將缺失的訊息頭或 XPath 視為空字串(當 如果 選擇為 Filename 時不適用)。這樣可以避免缺少預期訊息頭或 XPath 時擲回錯誤,而是沿“does not match”流程路徑傳遞訊息。

設定

與端口核心操作相關的設定。
設定描述
端口 Id端口的靜態、唯一識別碼。
端口型別顯示端口型別及其用途的描述。
端口描述一個可選欄位,用於提供端口及其在流中的角色的自由格式描述。

進階頁面 (Advanced Tab)

訊息

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

注意:以下設定已棄用,預設處於隱藏狀態。只有先前已啟用這些設定或將其配置為非預設值的端口才會顯示它們。若要保留成功處理的檔案副本,請在工作流程中右鍵單擊該端口,選擇顯示成功路徑,然後將成功路徑連線到 File 端口。

設定描述
儲存到已傳送資料夾(已棄用)將端口處理的檔案複製到 Sent 資料夾。預設停用。儲存到 Sent 資料夾中的檔案不受靜態加密保護。
已傳送資料夾方案(已棄用)按所選時間間隔對 Sent 資料夾中的檔案進行分組。僅在啟用儲存到已傳送資料夾時適用。

日誌

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

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

其他設定

其他設定

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

設定描述
其他設定允許在以分號分隔的清單中配置隱藏的端口設定,例如 setting1=value1;setting2=value2。正常的端口用例和功能不需要使用這些設定。

自動化頁面 (Automation Tab)

自動化設定

效能

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

設定描述
最大工作執行緒數此端口上處理檔案時從執行緒池中消耗的最大工作執行緒數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。
最大檔案數分配給端口的每個執行緒傳送的最大檔案數。如果設定,則會覆蓋 進階設定 頁面的 效能設定 部分的預設設定。

通知索引標籤

SLA 索引標籤

使用 Branch 端口的範例

以下範例描述了常見的 Branch 端口用例。

根據訊息頭進行分支

在此範例中,您的企業從交易夥伴處收到多種型別的 EDI 文件,並且需要對不同型別的文件進行不同處理。 上圖展示了您向交易夥伴傳送採購訂單的情況。隨後他們向您傳送兩種不同型別的 EDI 文件:一種是 855 採購訂單確認,另一種是 810 發票。流程中 Branch 端口之前的 X12 端口 會將 X12-TransactionCode 附加到每個訊息頭。 Branch 端口使用訊息頭中的交易程式碼來告訴 知行之橋 在收到 810 或 855 EDI 文件時要執行的操作,以及在收到不包含這兩種交易程式碼的文件時要執行的操作。
  • 收到 810 文件後,流程中的下一步會將其傳送到後端系統的發票表(本例中為 PostgreSQL)。
  • 收到 855 文件後,流程的下一步會將其傳送到後端系統中的 PO 確認表。
  • 收到任何其他型別的文件時,Else 條件會使用 Notify 端口 向管理員傳送電子郵件以進行手動處理。

基於 EDI 中繼資料的分支

在此範例中,您的企業從多家公司接收 X12 文件,並且需要將兩家公司的文件傳送到特定工作區進行進一步處理。 上圖展示了兩家公司向您傳送 X12 文件的情況。Branch 端口使用 X12 中繼資料 InterchangeSenderId 來指定文件的傳送目的地。
  • 收到來自 CompanyA 的文件時,流程的下一步會將其傳送到 CompanyA 工作區。
  • 收到來自 CompanyB 的文件時,流程的下一步會將其傳送到 CompanyB 工作區。
  • 收到任何其他型別的文件時,Else 條件會使用 Notify 端口 向管理員傳送電子郵件,提醒他們傳入的 X12 文件與兩個預期公司之一不匹配。
公司特定的工作區隨後可能包含一個用於接收傳入文件的 Workspace Receive 端口(由於 Branch 流程中使用了 Workspace Send 端口,因此必須包含),一個帶有識別碼、可將原始 X12 資料轉換為 XML 的 X12 端口,一個用於將 XML 對映到目標的 XML Map 端口,最後是目標端口(下圖中的 PostgreSQL)。