在 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特定追蹤。
必要條件
Azure 帳戶和訂用帳戶。 如果您還沒有訂用帳戶, 請註冊免費的 Azure 帳戶。
您可以在 其中定義和儲存成品的整合帳戶資源 ,例如貿易夥伴、合約、憑證等,以用於企業整合和 B2B 工作流程。 此資源必須符合下列需求:
您的整合帳戶和邏輯應用程式資源必須存在於相同的 Azure 訂用帳戶和 Azure 區域中。
定義至少兩個參與工作流程中使用的EDIFACT作業的貿易夥伴。 這兩個合作夥伴的定義必須使用相同的 商務身分識別 限定符,也就是 ZZZ - 在此案例中相互定義 。
定義參與工作流程之貿易夥伴之間的EDIFACT合約。 每個合約都需要主機合作夥伴和來賓合作夥伴。 您與其他合作夥伴之間訊息中的內容必須符合合約類型。 如需接收和傳送訊息時要使用的合約設定相關信息,請參閱 EDIFACT訊息設定。
重要
EDIFACT 連接器僅支援UTF-8個字元。 如果您的輸出包含非預期的字元,請檢查您的EDIFACT訊息是否使用UTF-8字元集。
根據您正在使用取用或標準邏輯應用程式工作流程,邏輯應用程式資源可能需要整合帳戶的連結:
邏輯應用程式工作流程 需要連結嗎? 耗用 需要 連線和整合帳戶的連結。 當您將 EDIFACT 作業新增至工作流程時,您可以建立連線。 標準 連線 整合帳戶,但不需要連結。 當您將 EDIFACT 作業新增至工作流程時,您可以建立連線。 您想要在其中使用EDIFACT作業的邏輯應用程式資源和工作流程。
如需詳細資訊,請參閱下列文件:
編碼 EDIFACT 訊息
名為 Encode to EDIFACT 訊息動作的 EDIFACT Managed 連接器動作和名為 EDIFACT 編碼的 EDIFACT 內建連接器動作會執行下列工作,但限制和已知問題中所述:
比對傳送者限定符和標識碼和接收者限定符和標識碼來解決合約。
串行化電子數據交換 (EDI),將 XML 編碼的訊息轉換成交換中的 EDI 交易集。
套用交易集標頭和預告片區段。
產生交換控制編號、群組控制編號,以及每個傳出交換的交易集控制編號。
取代承載數據中的分隔符。
驗證EDI和夥伴特定屬性,例如針對訊息架構、交易集數據元素的異動集數據元素架構,以及交易集數據元素的擴充驗證。
為每個交易集產生 XML 檔。
如果已設定,請要求技術通知、功能通知或兩者。
作為技術通知,CONTRL 訊息會指出交換的收據。
CONTRL 訊息會指出接收的交換、群組或訊息的接受或拒絕,包括錯誤或不支援的功能清單。
在 Azure 入口網站 中,開啟設計工具中的邏輯應用程式資源和工作流程。
在設計工具中,遵循這些一般步驟,將名為 Encode 的 EDIFACT 動作新增至 EDIFACT 訊息,依合約名稱新增至您的工作流程。
注意
如果您想要 改用身分 識別動作編碼至 EDIFACT 訊息,您稍後必須提供不同的值,例如 EDIFACT 合約所指定的寄件人標識碼 和 接收者識別碼 。 您也必須指定要編碼的 XML 訊息,這可以是觸發程式或先前動作的輸出。
為您的整合帳戶提供下列連線資訊:
屬性 必要 描述 連線名稱 Yes 連接的名稱 整合帳戶 Yes 從可用的整合帳戶清單中,選取要使用的帳戶。 例如:
完成時,選取建立。
在 EDIFACT 宏指令中,提供下列屬性值:
屬性 必要 描述 EDIFACT 合約的名稱 Yes 要使用的EDIFACT合約。 要編碼的 XML 訊息 Yes EDIFACT 合約所指定之郵件寄件者的商務標識碼 其他參數 No 此工作包含下列其他參數:
- 數據元素分隔符
- 發行指標
- 元件分隔符
- 重複分隔符
- 區段終止符
- 區段終止符後綴
- 十進位指標
如需詳細資訊,請參閱 EDIFACT 訊息設定。例如,要編碼的 XML 訊息承載可以是 要求觸發程式的本文 內容輸出:
儲存您的工作流程您
解碼 EDIFACT 訊息
名為 Decode EDIFACT 訊息動作的 EDIFACT Managed 連接器動作和名為 EDIFACT 譯碼的 EDIFACT 內建連接器動作會執行下列工作,但限制和已知問題中所述:
根據貿易夥伴合約驗證信封。
藉由比對傳送者限定符和標識碼以及接收者限定符和標識碼來解決合約。
當交換有多個交易時,根據合約的接收 設定,將交換分割成多個交易集。
反組譯交換。
驗證電子數據交換 (EDI) 和夥伴特定屬性,例如交換信封結構、針對控制架構的信封架構、針對訊息架構之交易集數據元素的架構,以及對交易集數據元素進行擴充驗證。
確認交換、群組和交易集控制編號不重複(僅限受控連接器),如果已設定,例如:
針對先前收到的交換檢查交換控制編號。
針對交換中的其他群組控制編號檢查群組控制編號。
針對該群組中的其他交易集控制編號檢查交易集控制編號。
將交換分割成交易集,或保留整個交換(僅限受控連接器),例如:
將交換分割為交易集 - 發生錯誤時暫停交易集。
譯碼動作會將交換分割成交易集,並剖析每個交易集。 動作只會輸出那些無法驗證的交易
badMessages
集,並將其餘的交易集輸出至goodMessages
。將交換分割為交易集 - 發生錯誤時暫停交換。
譯碼動作會將交換分割成交易集,並剖析每個交易集。 如果交換中的一或多個交易集驗證失敗,動作會將該交換中的所有交易集輸出至
badMessages
。保留交換 - 發生錯誤時暫停交易集。
譯碼動作會保留交換,並處理整個批次交換。 動作只會輸出那些無法驗證的交易
badMessages
集,並將其餘的交易集輸出至goodMessages
。保留交換 - 發生錯誤時暫停交換。
譯碼動作會保留交換,並處理整個批次交換。 如果交換中的一或多個交易集驗證失敗,動作會將該交換中的所有交易集輸出至
badMessages
。
如果已設定,請產生技術通知、功能通知或兩者。
技術通知或 CONTRL ACK,其會報告完整接收交換的 Syntactical 檢查結果。
功能通知,認可已接收之交換或群組的接受或拒絕。
在 Azure 入口網站 中,開啟設計工具中的邏輯應用程式資源和工作流程。
在設計工具中,遵循這些一般步驟,將名為 Decode EDIFACT 訊息的 EDIFACT 動作新增至您的工作流程。
為您的整合帳戶提供下列連線資訊:
屬性 必要 描述 連線名稱 Yes 連接的名稱 整合帳戶 Yes 從可用的整合帳戶清單中,選取要使用的帳戶。 例如:
完成時,選取建立。
在 EDIFACT 宏指令中,提供下列屬性值:
屬性 必要 描述 要譯碼的EDIFACT一般檔案訊息 Yes 要譯碼的 XML 一般檔案訊息。 其他參數 No 此工作包含下列其他參數:
- 元件分隔符
- 數據元素分隔符
- 發行指標
- 重複分隔符
- 區段終止符
- 區段終止符後綴
- 十進位指標
- 承載字元集
- 區段終止符後綴
- 保留交換
- 發生錯誤時暫停交換
如需詳細資訊,請參閱 EDIFACT 訊息設定。例如,要譯碼的 XML 訊息承載可以是 要求觸發程式的本文 內容輸出:
處理EDIFACT檔中的UNH2.5區段
在EDIFACT檔中, UNH2.5 區段 用於架構查閱。 例如,在此範例 EDIFACT 訊息中,UNH 欄位為 EAN008
:
UNH+SSDD1+ORDERS:D:03B:UN:EAN008
若要處理 EDIFACT 檔或處理具有 UN2.5 區段的 EDIFACT 訊息,請遵循下列步驟:
更新或部署具有 UNH2.5 根節點名稱的架構。
例如,假設範例 UNH 欄位的架構根名稱是
EFACT_D03B_ORDERS_EAN008
。 針對每個D03B_ORDERS
具有不同 UNH2.5 區段的區段,您必須部署個別的架構。在 Azure 入口網站 中,根據您是否有取用或標準邏輯應用程式工作流程,將架構新增至整合帳戶資源或邏輯應用程序資源。
無論您是使用EDIFACT譯碼或編碼動作,請上傳架構,並在EDIFACT合約的接收 設定 或傳送 設定 區段中設定架構設定。
若要編輯您的 EDIFACT 合約,請在 [ 合約] 窗格中選取您的合約。 在 [ 合約] 窗格的工具列上,選取 [ 編輯為 JSON]。
在合約的
receiveAgreement
區段中,尋找 區schemaReferences
段,並新增 UNH2.5 值。在合約的
sendAgreement
區段中,尋找 區schemaReferences
段,並新增 UNH2.5 值。