Share via


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

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

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

連接器技術參考

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

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

- EDIFACT 受控連接器參考
- EDIFACT 訊息限制
耗用 整合服務環境 (ISE) EDIFACT 受控連接器 (Standard 類別) 和 EDIFACT ISE 版本,其訊息限制與 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 從可用的企業整合帳戶清單中,選取要使用的帳戶。

    例如:

    Screenshot shows Azure portal, Consumption workflow, and connection box for action named Encode to EDIFACT message by agreement name.

  4. 完成時,選取建立

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

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

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

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

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

    Screenshot shows Consumption workflow, action named Encode to EDIFACT message by agreement name, and message encoding properties.

  6. 儲存您的工作流程您

解碼 EDIFACT 訊息

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

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

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

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

  • 解譯交換。

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    例如:

    Screenshot shows Consumption workflow designer and connection pane for the action named Decode EDIFACT message.

  4. 完成時,選取建立

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

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

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

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

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

    Screenshot shows Consumption workflow, action named Decode EDIFACT message, and message decoding properties.

處理 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 值。

      Screenshot showing the Azure portal with an EDIFACT agreement's

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

      Screenshot showing the Azure portal with an EDIFACT agreement's

下一步