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

若要在您使用 Azure Logic Apps 建立的工作流程中傳送和接收 EDIFACT 訊息,請使用 EDIFACT 連接器,其提供支援和管理 EDIFACT 通訊的作業。

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

連線 or 技術參考

EDIFACT 連接器有不同的版本,以邏輯應用程式類型和主機環境為基礎

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

- EDIFACT 受控連接器參考
- EDIFACT 訊息限制
耗用 整合服務環境 (ISE) EDIFACT 受控連接器 (Standard 類別) 和 EDIFACT ISE 版本,其訊息限制與標準類別不同。 EDIFACT 連接器只提供動作,但您可以使用任何適用於您案例的觸發程式。 如需詳細資訊,請參閱下列檔:

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

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

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

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

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

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

預覽版 EDIFACT 內建連接器具有下列動作,類似於其對應的 EDIFACT Managed 連接器動作,但限制和已知問題中所述的情況除外。

限制和已知問題

  • 預覽 EDIFACT 內建連接器

    • 這項功能處於預覽狀態,並受限於 Microsoft Azure 預覽版的補充使用規定。

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

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

      • 如果已設定,請檢查重複的交換、群組和交易集控制編號。

      • 保留整個交換。

      否則,預覽 版 EDIFACT 編碼EDIFACT 譯碼 內建連接器動作的功能類似於其對應的 EDIFACT Managed 連接器動作。

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

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

必要條件

編碼 EDIFACT 訊息

名為 Encode to EDIFACT 訊息動作的 EDIFACT Managed 連接器動作和名為 EDIFACT 編碼的 EDIFACT 內建連接器動作會執行下列工作,但限制和已知問題中所述

  • 比對傳送者限定符和標識碼和接收者限定符和標識碼來解決合約。

  • 串行化電子數據交換 (EDI),將 XML 編碼的訊息轉換成交換中的 EDI 交易集。

  • 套用交易集標頭和預告片區段。

  • 產生交換控制編號、群組控制編號,以及每個傳出交換的交易集控制編號。

  • 取代承載數據中的分隔符。

  • 驗證EDI和夥伴特定屬性,例如針對訊息架構、交易集數據元素的異動集數據元素架構,以及交易集數據元素的擴充驗證。

  • 為每個交易集產生 XML 檔。

  • 如果已設定,請要求技術通知、功能通知或兩者。

    • 作為技術通知,CONTRL 訊息會指出交換的收據。

    • CONTRL 訊息會指出接收的交換、群組或訊息的接受或拒絕,包括錯誤或不支援的功能清單。

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

  2. 在設計工具中,遵循這些一般步驟,將名為 Encode 的 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 訊息

名為 Decode EDIFACT 訊息動作的 EDIFACT Managed 連接器動作和名為 EDIFACT 譯碼的 EDIFACT 內建連接器動作會執行下列工作,但限制和已知問題中所述

  • 根據貿易夥伴合約驗證信封。

  • 藉由比對傳送者限定符和標識碼以及接收者限定符和標識碼來解決合約。

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

  • 反組譯交換。

  • 驗證電子數據交換 (EDI) 和夥伴特定屬性,例如交換信封結構、針對控制架構的信封架構、針對訊息架構之交易集數據元素的架構,以及對交易集數據元素進行擴充驗證。

  • 確認交換、群組和交易集控制編號不重複(僅限受控連接器),如果已設定,例如:

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

    • 針對交換中的其他群組控制編號檢查群組控制編號。

    • 針對該群組中的其他交易集控制編號檢查交易集控制編號。

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

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

      譯碼動作會將交換分割成交易集,並剖析每個交易集。 動作只會輸出那些無法驗證的交易 badMessages集,並將其餘的交易集輸出至 goodMessages

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

      譯碼動作會將交換分割成交易集,並剖析每個交易集。 如果交換中的一或多個交易集驗證失敗,動作會將該交換中的所有交易集輸出至 badMessages

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

      譯碼動作會保留交換,並處理整個批次交換。 動作只會輸出那些無法驗證的交易 badMessages集,並將其餘的交易集輸出至 goodMessages

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

      譯碼動作會保留交換,並處理整個批次交換。 如果交換中的一或多個交易集驗證失敗,動作會將該交換中的所有交易集輸出至 badMessages

  • 如果已設定,請產生技術通知、功能通知或兩者。

    • 技術通知或 CONTRL ACK,其會報告完整接收交換的 Syntactical 檢查結果。

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

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

  2. 在設計工具中,遵循這些一般步驟,將名為 Decode 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。 針對每個 D03B_ORDERS 具有不同 UNH2.5 區段的區段,您必須部署個別的架構。

  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

下一步