共用方式為


MLLP 傳送配接器處理

最低較低層通訊協定 (MLLP) 傳送配接器支援下列組態中的單向和雙向傳輸模式:

  • 雙向要求-回應傳送配接器

  • 設定為接收通知的單向傳送配接器 (ACK)

  • 針對未傳回訊息設定的單向傳送配接器

雙向要求-回應傳送 MLLP 配接器

在真正的端對端同步案例中使用此配接器。 因此,您只能搭配一個目的地合作物件使用此配接器。 傳送配接器會持續針對遠端合作物件維護開啟的連線, (URL) 直到將傳回訊息路由傳送至要求回應接收埠為止。 如需要求回應/要求回應處理的架構,請參閱下圖。

當您使用此配接器時,您可以指示系統將 ACK 或回應訊息傳回至企業營運應用程式。 您可以使用 BTAHL7 組態總管中的路由 ACK 傳送管線傳送管線回應接收埠設定。 選取這個屬性可傳回 ACK,或取消選取它以傳迴響應會議。

使用此介面卡的傳送埠成功傳送原始訊息之後,BTAHL7 就會刪除該訊息。 與此傳送埠相關聯的接收管線不會產生 ACK。 不論該回應的 MSA2 欄位值為何,BizTalk 都會將查詢回應轉送至來源應用程式。

設定為接收 ACK 的單向傳送 MLLP 配接器

此配接器會在傳送原始訊息的相同通訊端連線上接收 ACK,並將 ACK 傳遞給接收位置。 傳送配接器會持續針對遠端合作物件維護開啟的連線, (URL) ,即使沒有訊息正在等候BizTalk Server將其傳送至遠端方也一樣。 如果數個埠指向相同的遠端合作物件,傳送配接器會為每個傳送埠維護一個連線。

Microsoft BizTalk Accelerator for HL7 (BTAHL7) 安裝程式會安裝預設接收位置 TwoWayAckReceiveLocation。 您可以使用這個接收位置搭配 MLLP 傳送配接器來接收 ACK。 使用此介面卡的這個傳送埠組態需要您將接收位置與傳送埠產生關聯。

如果您設定為接收具有 MSA 欄位的回應訊息,或支援多個目的地,請使用此傳送埠。 雙向要求回應配接器不適用於 MSA 欄位或多個目的地。

單向 MLLP 傳送配接器收到的通知

當針對 ACK 設定的單向 MLLP 傳送配接器收到一個時,BizTalk Server會從 MessageBox 資料庫刪除原始訊息、重試或暫停它,視 ACK 的類型而定。 BTAHL7 會在兩個階段中剖析 ACK:

  • 第一個階段是在傳送配接器中完成,其中 BTAHL7 會剖析 MSA1 欄位,以判斷 ACK 的類型。

  • 在第二個階段中,BTAHL7 會執行 ACK 的完整剖析,然後將 ACK 提交至 MessageBox 資料庫。

    您會在 BTAHL7 組態總管中設定雙向傳送配接器預期的 ACK。

    下表顯示 MLLP 傳送配接器可以接收的 ACK,以及原始訊息上產生的動作。

收到 ACK 原始訊息的動作
認可接受或應用程式接受 從 MessageBox 資料庫刪除
認可/應用程式、拒絕 ACK 或不正確 ACK 暫止
認可/應用程式錯誤 重試/移至備份傳輸/暫停
靜態 ACK 成功 從 MessageBox 資料庫刪除
靜態 ACK 失敗 暫止

下表顯示不正確 ACK 條件。

執行個體 條件
HL7 (原始、增強、延遲) 1. 不包含 XML。
2. 沒有 結構,因此無法擷取 MSA1 欄位;或 MSA1 欄位不包含 CA、AA、CR、AR、CE、AE) 的其中一個允許 (值。
靜態 不符合成功或失敗 ACK 的其中一個允許值。
包含 XML 不論內容) 和刪除原始訊息,都視為接受 ACK (。

錯誤狀況

發生錯誤狀況或閒置時,可能會發生下列情況:

  • 如果傳出訊息在序列化時失敗,傳送配接器將不會傳送訊息,除非它是 BTAHL7 串流處理的批次訊息。 如果是這種情況,而且 BTAHL7 會在訊息中半部偵測到序列化失敗,配接器將不會傳送 EB/CR,因為BizTalk Server尚未傳送完整的訊息。 管線會記錄錯誤,配接器會嘗試再次傳送批次訊息。

  • 如果傳送作業失敗,配接器會嘗試再次傳送訊息,最多到傳送埠組態設定中指定的重試次數。 耗盡重試之後,如果存在,訊息就會移至備份傳輸。 如果所有其他專案都失敗,訊息會暫停。 暫止的訊息會以原始 (XML) 格式顯示。

    BTAHL7 可以產生下列事件來描述錯誤狀況:

事件 識別碼 錯誤狀況
ErrorSendingMessage 8450 無法將訊息傳送給遠端合作物件。 最常見的原因是網路失敗或逾時。 如果傳送管線在序列化大型訊息時失敗,BTAHL7 可能會回報此錯誤。
ErrorReceivingAck 8451 由於網路失敗或逾時,無法收到通知。
ErrorConnecting 8453 無法建立 TCP 連線到遠端合作物件—無法解析主機名稱,或遠端合作物件未接聽埠或拒絕連線。

注意

原始訊息的 MSH5 中 (目的地方組態) 會決定 BTAHL7 是否預期 HL7 或靜態 ACK。 如果不相符,BTAHL7 會將 ACK 視為無效。

MLLP 傳送配接器處理 ACK 之後,ACK 會以訊息的形式傳遞至接收位置。 反組譯程式會執行 ACK 的完整剖析,這可能會導致接收管線和/或暫停的 ACK 回報剖析錯誤。

另請參閱

處理 MLLP 編碼訊息
傳送和接收配接器的設定參數
MLLP 接收配接器處理
設定傳送埠來接收 ACK