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

適用於:Azure Logic Apps (使用量 + 標準)

若要在使用 Azure Logic Apps 建立的工作流程中傳送和接收 AS2 訊息,您可以使用 AS2 (v2) 連接器來提供支援和管理 AS2 通訊的動作。 如果您需要追蹤功能,原始的 AS2 連接器仍可使用,但已被取代。

除了追蹤功能,AS2 (v2) 連接器會提供與原始 AS2 連接器相同的功能、以原生方式使用 Azure Logic Apps 執行階段來執行,並在訊息大小、輸送量和延遲方面提供重大效能改善。 不同於原始的 AS2 連接器,AS2 (v2) 連接器不需要您建立與整合帳戶的連線。 如同先決條件中所述,您只需確實將企業整合帳戶連接至計畫要使用此連接器的邏輯應用程式資源即可。

本操作指南說明如何將 AS2 編碼和解碼動作新增至現有的邏輯應用程式工作流程。 AS2 (v2) 連接器並未包含任何觸發程序,因此,您可以使用任何觸發程序來啟動工作流程。 此指南中的範例會使用要求觸發程序。

連接器技術參考

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

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

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

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

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

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

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

- AS2 受控連接器參考
- AS2 (v2) 內建連接器作業
- AS2 訊息限制

AS2 (v2) 作業

AS2 (v2) 連接器沒有觸發程序。 下表描述 AS2 (v2) 連接器在傳輸訊息時為建立安全性和可靠性所提供的動作:

動作 描述
AS2 編碼動作 透過郵件處置通知 (MDN) 提供加密、數位簽署與通知,協助支援不可否認性。 例如,此動作會套用 AS2/HTTP 標頭,並在進行設定時執行下列工作:

- 簽署外送訊息。
- 加密外送訊息。
- 壓縮訊息。
- 在 MIME 標頭中傳輸檔案名稱。
AS2 解碼動作 透過郵件處置通知 (MDN) 提供解密、數位簽署與通知。 例如,此動作會在進行設定時執行下列工作:

- 處理 AS2/HTTP 標頭。
- 協調收到的 MDN 與原始輸出訊息。
- 更新不可否認性資料庫中的記錄並使其相互關聯。
- 寫入記錄以進行 AS2 狀態報告。
- 以 Base64 編碼方式輸出承載內容。
- 判斷是否需要 MDN。 根據 AS2 合約,判斷 MDN 應為同步還是非同步。
- 根據 AS2 合約,產生同步或非同步 MDN。
- 在 MDN 上設定相互關聯的權杖和屬性。
- 驗證簽章。
- 將訊息解密。
- 將訊息解壓縮。
- 檢查並禁止訊息識別碼重複項目。

必要條件

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

  • 您想要使用 AS2 作業的邏輯應用程式資源和工作流程。

  • 一個整合帳戶資源,可定義並儲存企業整合和 B2B 工作流程中所使用的成品。

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

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

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

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

    邏輯應用程式工作流程 需要連結嗎?
    耗用 - AS2 (v2) 連接器:需要連線,但不需要連結
    - AS2 連接器:需要連結,但不需要連線
    標準 - AS2 (v2) 連接器:需要連結,但不需要連線
    - AS2 連接器:需要連線,但不需要連結
  • 如果您使用 Azure Key Vault 管理憑證,請確認保存庫金鑰允許加密解密作業, 否則編碼和解碼動作會失敗。

    1. Azure 入口網站中,開啟您的金鑰保存庫。 在 [金鑰保存庫] 功能表的 [設定] 下方選取 [金鑰]。

    2. 在 [金鑰] 窗格中選取您的金鑰。 在 [版本] 窗格中選取您目前使用的金鑰版本。

    3. 在 [金鑰版本] 窗格中,於 [允許的作業] 下方確認已選取 [加密] 與 [解密] 作業,如下所示:

      Screenshot showing the Azure portal with the key vault, key, and key version panes open, which has the

編碼 AS2 訊息

針對取用或標準邏輯應用程式工作流程選取索引標籤:

AS2 v2 連接器

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

  2. 在設計工具中,遵循下列一般步驟,將名為 AS2 編碼AS2 (v2) 動作新增至工作流程

  3. 在動作資訊方塊中,提供下列資訊:

    屬性 必要 描述
    要編碼的訊息 Yes 訊息承載,例如,來自要求觸發程序的本文輸出。

    1.將游標放在 [要編碼的訊息] 方塊中,如此即會開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [本文]
    AS2 來源 Yes AS2 合約所指定之訊息傳送者的商務識別碼,例如 Fabrikam
    AS2 目標 Yes AS2 合約所指定之訊息接收者的商務識別碼,例如 Contoso

    Screenshot showing the

AS2 連接器

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

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

  3. 當系統提示您建立與企業整合帳戶之間的連線時,請提供下列資訊:

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

    例如:

    Screenshot showing Consumption workflow and

  4. 完成時,選取建立

  5. 在動作資訊方塊中,提供下列資訊。

    屬性 必要 描述
    AS2-From Yes AS2 合約所指定之訊息傳送者的商務識別碼,例如 Fabrikam
    AS2-To Yes AS2 合約所指定之訊息接收者的商務識別碼,例如 Contoso
    body Yes 要編碼的訊息承載,例如,來自要求觸發程序的本文輸出。

    1.將游標放在 [本文] 方塊中,如此即可開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [本文]

    Screenshot showing the

解碼 AS2 訊息

針對取用或標準邏輯應用程式工作流程選取索引標籤:

AS2 v2 連接器

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

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

  3. 在動作資訊方塊中,提供下列資訊:

    屬性 必要 描述
    body Yes 要解碼的訊息本文,例如,來自要求觸發程序的本文輸出。

    1.將游標放在 [本文] 方塊中,如此即可開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [本文]
    標題 Yes 要解碼的訊息標頭,例如,來自要求觸發程序的標頭輸出。

    1.將游標放在 [標頭] 方塊中,如此即可開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [標頭]

    例如:

    Screenshot showing the

AS2 連接器

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

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

  3. 當系統提示您建立與企業整合帳戶之間的連線時,請提供下列資訊:

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

    例如:

    Screenshot showing Consumption workflow and

  4. 完成時,選取建立

  5. 在動作資訊方塊中,提供下列資訊。

    屬性 必要 描述
    body Yes 訊息承載,例如,來自要求觸發程序的本文輸出。

    1.將游標放在 [本文] 方塊中,如此即可開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [本文]
    標題 Yes 要解碼的訊息標頭,例如,來自要求觸發程序的標頭輸出。

    1.將游標放在 [標頭] 方塊中,如此即可開啟動態內容清單。
    2.在 [收到 HTTP 要求時] 區段名稱旁邊,選取 [查看更多內容]
    3.從輸出清單中,選取 [標頭]

    Screenshot showing the

範例

若要嘗試部署可完整運作的邏輯應用程式和範例 AS2 (v2) 案例,請參閱 AS2 (v2) 邏輯應用程式範本和案例 (英文)。

疑難排解問題

  • 傳送已簽署或加密的訊息時發生問題

    請考慮嘗試不同的 SHA256 演算法格式。 AS2 規格不會提供任何與 SHA256 格式相關的資訊,因此所有提供者都會使用自己的實作或格式。

下一步