天天看點

BizTalkServer 如何接收 EDI 消息(1)

BizTalkServer 如何接收 EDI 消息

在 BizTalk Server 接收 EDI 消息時,它将執行貿易合作夥伴協定查找和架構發現,驗證消息,發送确認(如果适用)并解析 EDI 批處理。此處理将由 EDI 接收管道中的 EDI 拆裝器執行。

本部分的内容

EDI 接收元件

接收到的 EDI 消息的協定解析、架構發現和授權

EDI 拆裝器的工作方式

驗證收到的 EDI 消息

發送 EDI 确認

處理傳入批

本主題中介紹的管道和管道元件用于處理不是 EDI/AS2 消息的 EDI 消息。有關處理收到的 EDI/AS2 或非 EDI/AS2 消息的資訊,請參閱AS2 接收元件。請注意,除 AS2 處理以外,AS2 接收元件還執行 EDI 處理。

EDI 接收管道

EDI 接收處理在 EDI 接收管道中執行。此管道安裝在驅動器:\\Program Files\\Microsoft BizTalk Server 2013\\ 中的 Microsoft.BizTalk.Edi.EdiPipelines.dll 内。該管道用于處理通過任何傳輸接收的 EDI 消息,但不會處理通過 HTTP 接收的 AS2 編碼的 EDI 消息。AS2 編碼的 EDI 消息的處理是通過 AS2 管道執行的。AS2 接收管道和 EDI 管道使用相同的元件來處理 EDI 消息。

BizTalkServer 如何接收 EDI 消息(1)

便箋

如果建立的接收位置使用 EDIReceive 管道,但采用 HTTP 傳輸類型,則可能會導緻安全問題。EdiReceive 管道将不生成 HTTP“200 OK”确認。如果未傳回 EDI 确認,連接配接将以非正常方式終止,但仍保持打開狀态。當逾時期過後,該連接配接将逾時。

EDIReceive 管道包括以下管道元件:

EDI 拆裝器

BatchMarker。

EDI 接收管道元件

EDIReceive 管道使用以下管道元件。這些元件安裝在驅動器:\\Program Files\\Microsoft BizTalk Server 2013\\Pipeline Components\\ 中的 Microsoft.BizTalk.Edi.PipelineComponents.dll 内。

對 EDIReceive 管道中收到的 EDI 編碼交換的處理大部分是由 EDI 拆裝器執行的。有關 EDI 拆裝器如何處理 EDI 消息的資訊,請參閱EDI 拆裝器的工作方式。

BatchMarker

BatchMarker 管道元件通過以下方法來準備要進行批處理的交換:更新處理批交換所需的 BatchId、ToBeBatched 和 ToBeRouted 上下文屬性。BatchMarker 元件設定這些屬性的方式取決于有多少貿易合作夥伴協定訂閱相應批元素。

如果隻有一個協定訂閱此批元素,BatchMarker 元件會将     ToBeBatched 上下文屬性設定為 True,以便批處理業務流程提取批元素。

如果有多個協定訂閱批元素,BatchMarker 元件會将     ToBeRouted 上下文屬性設定為 True,以便路由業務流程提取批元素。它還将 BatchIds 上下文屬性設定為一個以空格分隔的批處理 ID 清單。然後,路由業務流程将為每一個批處理 ID 建立一個批元素副本,并将每個批元素副本的 ToBeBatched 屬性設定為 True,以便批處理業務流程提取所有副本。

BatchMarker 元件包含在 EDIReceive 管道的最後一個階段(貿易合作夥伴協定解析)中。将要處理 EDI 消息的所有管道都應包含 BatchMarker 管道元件。

BizTalkServer 如何接收 EDI 消息(1)

BatchMarker 元件所在的接收管道可以不包含 EDI 拆裝器,以便在不解析 EDI 消息的情況下就可以執行貿易合作夥伴協定解析。

可使用 BizTalk Server 和 BatchMarker 元件來對非 EDI 消息進行批處理。有關詳細資訊,請參閱組裝批處理的 EDI 交換中的“在 BatchMarker 元件中處理非 EDI 消息”部分。

繼續閱讀