共用方式為


使用 Azure Logic Apps 中的工作流程交換 EDIFACT 訊息

若想在透過 Azure Logic Apps 建立的工作流程中收發 EDIFACT 訊息,請使用 EDIFACT 連接器;該連接器提供可支援和管理 EDIFACT 通訊的作業。

本指南說明如何將 EDIFACT 編碼和解碼動作新增至現有的邏輯應用程式工作流程中。 當沒有 EDIFACT 觸發程序可用時,您可以執行任何觸發程序來啟動工作流程。 此指南中的範例會使用要求觸發程序

連接器技術參考

根據邏輯應用程式類型和主機環境EDIFACT 連接器會有不同的版本。

邏輯應用程式 Environment 連接器版本
耗用 多租用戶 Azure Logic Apps EDIFACT 受控連接器 (Standard 類別)。 EDIFACT 連接器僅提供動作,但您可以使用任何適用於案例的觸發程序。 如需詳細資訊,請參閱下列文件:

- EDIFACT 受控連接器參考
- EDIFACT 訊息限制
標準 單一租用戶 Azure Logic Apps 和 App Service 環境 v3 (僅限 Windows 方案) EDIFACT 內建連接器 (預覽) 和 EDIFACT 受控連接器。 內建版本在以下方面有相異之處:

- 內建版本僅提供動作,但您可以使用任何適用於案例的觸發程序。

- 內建版本可以直接存取 Azure 虛擬網路。 您不需要內部部署的資料閘道。

如需詳細資訊,請參閱下列文件:

- EDIFACT 受控連接器參考
- EDIFACT 內建連接器作業
- EDIFACT 訊息限制

EDIFACT 內建作業 (僅限標準工作流程 - 預覽)

預覽 EDIFACT 內建連接器具有下列動作,類似於其對應的 EDIFACT 受控連接器動作,但限制和已知問題中所指出的內容除外。

限制和已知問題

  • 預覽 EDIFACT 內建連接器

    • 此功能處於預覽狀態,且受限於 Microsoft Azure 預覽版的補充使用規定

    • 此連接器的動作目前支援至少 100 MB 的承載。

    • 預覽 EDIFACT 解碼動作目前不包含下列功能:

      • 檢查重複交換、群組和交易集控制編號 (若已設定)。

      • 保留整個交換。

      否則,預覽 EDIFACT 編碼EDIFACT 解碼內建連接器動作的功能與 EDIFACT 受控連接器動作的對應類似。

    • 此連接器的動作目前不支援與多個交易或批次訊息的交換。

    • 此連接器的動作目前不會發出 EDI 特定追蹤。

必要條件

  • Azure 帳戶和訂用帳戶。 如果您還沒有訂閱,則請 註冊免費的 Azure 帳戶

  • 您在其中定義和儲存成品的整合帳戶資源 (例如交易夥伴、合約、憑證等),藉以用於企業整合和 B2B 工作流程。 此資源必須符合下列需求:

    • 您的企業整合帳戶和邏輯應用程式資源必須存在於相同的 Azure 訂用帳戶和 Azure 區域中。

    • 定義參與您的工作流程中使用的 EDIFACT 作業的至少兩個合作物件。 這兩位合作對象的定義必須使用相同的「商務身分識別」辨識符號,在此案例中為 ZZZ - Mutually Defined

    • 定義參與您的工作流程的合作物件之間的 EDIFACT 協議。 每個合約都需要一個主機合作夥伴和一個客體合作夥伴。 您與其他合作夥伴之間的訊息內容必須符合合約類型。 如需接收及傳送訊息時要使用的協議設定的相關資訊,請檢閱 EDIFACT 訊息設定

      重要

      EDIFACT 連接器僅支援 UTF-8 字元; 如果您的輸出包含非預期的字元,請檢查您的 EDIFACT 訊息使用的是否為 UTF-8 字元集。

  • 根據您使用的是取用或標準邏輯應用程式工作流程,您的邏輯應用程式資源可能需要連至您整合帳戶的連結:

    邏輯應用程式工作流程 需要連結嗎?
    耗用 需要連線和連結至整合帳戶。 您可以在將 EDIFACT 作業新增至工作流程時建立連線。
    標準 需要連線至整合帳戶,但不需要連結。 您可以在將 EDIFACT 作業新增至工作流程時建立連線。
  • 您想要使用 EDIFACT 作業的邏輯應用程式資源和工作流程。

    如需詳細資訊,請參閱下列文件:

編碼 EDIFACT 訊息

名為編碼為 EDIFACT 訊息動作的 EDIFACT 受控連接器動作,以及名為 EDIFACT ACT 編碼EDIFACT 內建連接器動作會執行下列工作,除了限制和已知問題所述的內容以外:

  • 比對傳送者辨識符號和識別項以及接收者辨識符號和識別項,藉此解析合約。

  • 將電子資料交換 (EDI) 序列化,也就是在交換中將 XML 編碼訊息轉換為 EDI 交易集。

  • 套用交易集標頭和尾端區段。

  • 為每個傳出交換產生交換控制編號、群組控制編號和交易集控制編號。

  • 取代承載資料中的分隔符號。

  • 驗證 EDI 及合作夥伴特定屬性,例如根據訊息結構描述驗證的交易集資料元素結構描述、交易集資料元素,以及交易集資料元素上的擴充驗證。

  • 產生每個交易集的 XML 文件。

  • 若已完成相關設定,可要求技術通知及/或功能通知。

    • 如作為技術通知,CONTRL 訊息會指示交換的接收。

    • 如作為功能通知,CONTRL 訊息會指示接受或拒絕已接收交換、群組或訊息,包含錯誤或不支援功能的清單。

  1. Azure 入口網站中,於設計工具內開啟您的邏輯應用程式資源和工作流程。

  2. 在設計工具中,遵循這些一般步驟,將名為依協議名稱編碼為 EDIFACT 訊息EDIFACT 動作新增至工作流程

    注意

    如果您想要改用 [依識別編碼為 EDIFACT 訊息] 動作,您稍後必須提供不同的值,例如 EDIFACT 協議指定的傳送者識別碼接收者識別碼。 您也必須指定要編碼的 XML 訊息,這可以是觸發程序或前一個動作的輸出。

  3. 請為您的整合帳戶提供下列連線資訊:

    屬性 必要 描述
    連線名稱 Yes 連線的名稱
    企業整合帳戶 Yes 從可用的企業整合帳戶清單中,選取要使用的帳戶。

    例如:

    螢幕擷取畫面顯示 Azure 入口網站、使用量工作流程以及名為依合約名稱編碼為 EDIFACT 訊息的動作的連線方塊。

  4. 完成時,選取建立

  5. 在 EDIFACT 動作中,提供下列屬性值:

    屬性 必要 描述
    EDIFACT 合約名稱 Yes 要使用的 EDIFACT 合約。
    要編碼的 XML 訊息 Yes EDIFACT 合約指定的訊息傳送者所具備的商務識別碼
    其他參數 No 此作業包含下列其他參數:

    - 資料元素分隔符號
    - 釋放指示符號
    - 元件分隔符號
    - 重複分隔符號
    - 區段結束字元
    - 區段結束字元尾碼
    - 十進位指示符號

    如需詳細資訊,請檢視 EDIFACT 訊息設定

    例如,要編碼的 XML 訊息承載可以是「要求」觸發程序的本文內容輸出:

    螢幕擷取畫面顯示使用量工作流程、名為依合約名稱編碼為 EDIFACT 訊息的動作,以及訊息編碼屬性。

  6. 儲存您的工作流程您

解碼 EDIFACT 訊息

名為解碼為 EDIFACT 訊息動作的 EDIFACT 受控連接器動作,以及名為 EDIFACT ACT 解碼EDIFACT 內建連接器動作會執行下列工作,除了限制和已知問題所述的內容以外:

  • 根據交易夥伴協議驗證信封。

  • 比對傳送者辨識符號和識別項以及接收者辨識符號和識別項,藉此解析合約。

  • 在交換有多筆交易時,根據合約的接收設定將交換分割成多個交易集。

  • 解譯交換。

  • 驗證電子資料交換 (EDI) 及合作夥伴特定屬性,例如交換信封結構、根據控制結構描述驗證的信封結構描述、根據訊息結構描述驗證的交易集資料元素結構描述,以及交易集資料元素上的擴充驗證。

  • 若已完成相關設定,確認交換、群組和交易集控制編號並未重複 (僅限受控連接器),例如:

    • 針對先前已接收的交換檢查交換控制編號。

    • 檢查群組控制編號與交換中的其他群組控制編號是否重複。

    • 檢查交易集控制編號與該群組中其他交易集控制編號是否重複。

  • 將交換分割為交易集,或保留整個交換 (僅限受控連接器),例如:

    • 將交換分割為交易集 - 發生錯誤時暫停交易集。

      解碼動作會將交換分割成交易集,並對各個交易集加以剖析。 這個動作只會輸出未通過 badMessages 驗證的交易集,剩餘的交易集則會輸出至 goodMessages

    • 將交換分割為交易集 - 發生錯誤時暫停交換。

      解碼動作會將交換分割成交易集,並對各個交易集加以剖析。 如果交換中有一或多個交易集無法通過驗證,則此動作會將該交換中的所有交易集輸出到 badMessages

    • 保留交換 - 發生錯誤時暫停交易集。

      解碼動作會保留交換,並處理整個批次交換。 這個動作只會輸出未通過 badMessages 驗證的交易集,剩餘的交易集則會輸出至 goodMessages

    • 保留交換 - 發生錯誤時暫停交換。

      解碼動作會保留交換,並處理整個批次交換。 如果交換中有一或多個交易集無法通過驗證,則此動作會將該交換中的所有交易集輸出到 badMessages

  • 若已完成相關設定,可產生技術通知及/或功能通知。

    • 技術通知或 CONTRL ACK 會報告完整已接收交換所進行的語法檢查結果。

    • 功能通知會認可已接收交換或群組的接受或拒絕。

  1. Azure 入口網站中,於設計工具內開啟您的邏輯應用程式資源和工作流程。

  2. 在設計工具中,遵循下列一般步驟,將名為解碼 EDIFACT 訊息EDIFACT 動作新增至工作流程

  3. 請為您的整合帳戶提供下列連線資訊:

    屬性 必要 描述
    連線名稱 Yes 連線的名稱
    企業整合帳戶 Yes 從可用的企業整合帳戶清單中,選取要使用的帳戶。

    例如:

    螢幕擷取畫面顯示使用量工作流程設計工具以及名為解碼 EDIFACT 訊息的動作的連線窗格。

  4. 完成時,選取建立

  5. 在 EDIFACT 動作中,提供下列屬性值:

    屬性 必要 描述
    要解碼的 EDIFACT 一般檔案訊息 Yes 要解碼的 XML 一般檔案訊息。
    其他參數 No 此作業包含下列其他參數:

    - 元件分隔符號
    - 資料元素分隔符號
    - 釋放指示符號
    - 重複分隔符號
    - 區段結束字元
    - 區段結束字元尾碼
    - 十進位指示符號
    - 承載字元集
    - 區段結束字元尾碼
    - 保留交換
    - 發生錯誤時暫停交換

    如需詳細資訊,請檢視 EDIFACT 訊息設定

    例如,要解碼的 XML 訊息承載可以是「要求」觸發程序的本文內容輸出:

    螢幕擷取畫面顯示使用量工作流程、名為解碼 EDIFACT 訊息的動作,以及訊息解碼屬性。

處理 EDIFACT 文件中的 UNH2.5 區段

在 EDIFACT 文件中,UNH2.5 區段用於結構描述查閱。 以下列 EDIFACT 訊息範例為例,UNH 欄位為 EAN008

UNH+SSDD1+ORDERS:D:03B:UN:EAN008

若要處理 EDIFACT 文件或具有 UN2.5 區段的 EDIFACT 訊息,請按照下列步驟操作:

  1. 更新或部署具有 UNH2.5 根節點名稱的結構描述。

    例如,假設範例 UNH 欄位的結構描述根名稱為 EFACT_D03B_ORDERS_EAN008, 那麼您必須針對每個具有不同 UNH2.5 區段的 D03B_ORDERS 部署個別結構描述。

  2. Azure 入口網站中,根據您擁有的使用量或標準邏輯應用程式工作流程,分別將結構描述新增至您的企業整合帳戶資源或邏輯應用程式資源。

  3. 無論您使用的是 EDIFACT 解碼還是編碼動作,請上傳結構描述,並在分別在 EDIFACT 合約中的 [接收設定] 或 [傳送設定] 區段中調整結構描述設定。

  4. 若要編輯 EDIFACT 合約,請在 [合約] 窗格中選取您的合約。 在 [合約] 窗格的工具列上,選取 [編輯為 JSON]。

    • 在合約的 receiveAgreement 區段中找出 schemaReferences 區段,並新增 UNH2.5 值。

      螢幕擷取畫面顯示 Azure 入口網站以及 JSON 編輯器中的 EDIFACT 合約

    • 在合約的 sendAgreement 區段中找出 schemaReferences 區段,並新增 UNH2.5 值。

      螢幕擷取畫面顯示 Azure 入口網站以及 JSON 編輯器中的 EDIFACT 合約

下一步