如何將對應和自訂的 ACK 代碼套用到 BizTalk Server 2013 R2 的 HL7 中的 ACK 郵件

狀況

問題 1

請考慮下列情況:

  • 您正在執行 Microsoft BizTalk 2013 R2 加速器的 HL7 (BTAHL7)。

  • 您正在使用 MLLP 接收配接器和 HL7 接收管線中雙向接收埠。

  • 您可以設定使用直接同步 HL7 ACK選項為true 表示在 MLLP 傳輸屬性。

  • 您建立輸出對應這個雙向接收埠來送之前,轉換的 ACK。


在這個案例中,輸出對應不會套用到 HL7 ACK,,因此未轉換的 ACK。

問題 2

MLLP 傳送埠檢查 ACK 中的程式碼 ACK (MSA 區段的MSA.1_AcknowledgmentCode欄位),會傳回由下游的系統,並將它與設定在 MLLP 傳送連接埠設定內容的可接受 ACK 碼做比較。目前支援的 MLLP 的 ACK 碼傳送連接埠是防空砲火,CA、 AE、 CE、 衝鋒槍及 CR。您可以選取所有的 ACK 代碼或它們的組合。例如,下列程式碼是所有有效的︰

防空砲火和 CA
防空砲火,CA 」、 「 AE 」 和 「 CE
防空砲火、 CA,衝鋒槍和 CR

不過,您無法輸入任何其他可接受的 ACK 代碼。

您套用此 hotfix 之後,就會加入新的、 可接受的已命名自訂的 ACK 碼可接受的 ACK 代碼清單。此外,會加入新的 [文字] 方塊,輸入可接受的自訂 ACK 代碼。

alternate text


alternate text


Notes

  • 自訂代碼應以逗號 (,) 分隔。例如︰ AE 」、 「 CE、 衝鋒槍 」、 「 CR 」、 「 XX、 「 ZZ

  • 如果選取其中一個標準的組合 (非自訂選項),則您沒有在可接受自訂的 ACK 代碼] 屬性中輸入任何值。

  • 若要確定管線驗證成功的自訂的 ACK 詳細代碼,您必須在對應的 ACK 結構描述中加入必要的自訂 ACK 代碼。

  • 您可以使用 BizTalk 追蹤功能 (藉由啟用追蹤) 來使用時重試或擱置郵件時,會將事件日誌中記錄的訊息識別碼來追蹤訊息。


解決方案

累積更新資訊

下列的累積更新的 BizTalk Server,已先修正這個問題︰


請確定您部署所需的輸出對應 DLL 檔案,而且您將此 DLL 檔案安裝在全域組件快取 (GAC) 中︰

  1. OutboundMap 組件名稱

    這需要裝載輸出對應的組件的完整名稱。您可以在 BizTalk Server 管理主控台中的對應的屬性,來找到這項資訊。這裡您會找到的組件和完整的 OutboundMap 名稱中的下一個步驟所需的資訊。

    例如︰ 輸出,版本 = 1.0.0.0,文化特性 = 中性,PublicKeyToken = 83f92b3673c9005d

  2. OutboundMap 名稱

    這需要全幅地圖名稱,包括命名空間。您可以在 *.btm 檔案 (Namespace.TypeName) 的屬性,來找到這項資訊。

    例如︰ Outbound.Map1

注意只有當直接同步的 HL7 ACK 設為True,則會套用這些屬性。

如果您不需要 HL7 解譯器 (DASM) HL7 接收管線中自動產生 (例如 ACK 傳回的部分下游的系統將會交由上游系統) 的通知,關閉來源合作對象的傳送管線要求接收的連接埠上路由 ACK選項的 HL7,並使用直接同步 HL7 ACK設為False。然後,使用所提供的輸出的地圖選項中的接收埠。

如第 1 期

這項新功能只適用於 [接收埠/位置。目前,任何 BizTalk 接收埠已輸入的對應屬性。安裝這個 hotfix 之後,其他的屬性中有可用時接收位置將對應套用至 HL7 的 ack。這個額外的屬性可讓您套用對應雙向接收有 (=) ,則為 True的使用直接同步 HL7 ACK組的位置。此 hotfix 的唯一用途是允許使用者使用直接同步 HL7 ACK設定 (=) ,則為 True時,指定對應的 ACK。

安裝 hotfix 之後,您會看到兩種其他屬性在 MLLP 中的接收位置組態視窗。兩個屬性的預設值是空白的它們必須填入和使用直接同步 HL7 ACK必須設定為 [(=) ,則為 True。

alternate text

若要設定兩個屬性,請依照下列步驟執行︰

  1. OutboundMap 組件名稱屬性需要完整名稱的組件的輸出對應裝載,如下列範例所示︰

    輸出、 版本 = 1.0.0.0,文化特性 = 中性,PublicKeyToken = 83f92b3673c9005d必須在全域組件由先前快取組件。否則,轉換會失敗。

  2. OutboundMap 名稱屬性需要包含命名空間的對應的完整名稱。


這項新功能的其中一項缺點︰ HL7 ACK 則不會追蹤。如果您必須追蹤 ACK,您也必須設定輸入對應的 BizTalk 中的屬性會接收埠。技術上來說,您將會套用對應到放入訊息方塊的 ACK 和 ACK 傳回給上游的系統。因為兩者都必須套用同一個地圖,兩者都必須相同。下列螢幕擷取畫面是為了釐清,並且必須追蹤的 ACK 時,才需要。

alternate text

注意使用直接同步 HL7 ACK選項可以改善封輸入的郵件的處理效能。這是傳送到上游系統的 ACK,一旦郵件存放到 [訊息] 方塊。此設定可改善效能,如果下列情況皆成立︰

  • 接收埠是雙向接收埠,並使用直接同步 HL7 ACK選項,會收到 MLLP 連接埠組態中設定為True

  • BizTalk HL7 DASM 用來產生的 ack。為包含在 BTAHL72XReceivePipeline 的預設值,或使用原生的 BTAHL7,則必須使用 DASM 元件。自訂的管線中的 HL72fDasm 元件。

  • 路由 ACK 傳送管線上要求-回應接收埠的設定值來源的合作對象必須在 HL7 組態總管] 中,並通知類型必須設為 [] 以外的值。


問題 2

傳送埠只套用於新的功能。安裝 hotfix 之後,行為會根據您選取下拉式清單,而非由下游的系統所提供的程式碼中的可接受的 ACK 程式碼。

MLLP 傳送連接埠會檢查 ACK 中的程式碼 ACK (MSA 區段中的 MSA.1_AcknowledgmentCode 欄位),會傳回由下游的系統,並將其比較與可接受的 ACK 碼在 MLLP 中設定的傳送埠的組態屬性。目前可接受的 ACK 代碼 MLLP 傳送連接埠所支援包括防空砲火,CA、 AE、 CE、 衝鋒槍和 CR。您可以選取所有的 ACK 代碼或它們 (AA 與 CA) 的組合 (防空砲火,CA、 AE 和 CE) (防空砲火、 CA,衝鋒槍和 CR) 為有效。但是,沒有任何選項,輸入可接受的 ACK 程式碼組合。

其他可接受的 ACK 代碼] 屬性中的下拉式清單就會加入名為 [自訂]可接受的 ACK 代碼值。所有先前的組合會保留,而且會套用為之前已加入新功能的順序。

alternate text

alternate text

選取 [自訂] 後,您也必須在可接受的自訂 ACK 代碼] 屬性中,輸入新的值。這些新的 ACK 值必須每個以分隔逗號 (,)。

安裝 hotfix 之後,行為取決於所選取的可接受的 ACK 代碼設定。如果傳回的 ACK 程式碼符合選取的可接受的程式碼,處理已順利發生。它會為標準的 ACK 代碼重試,並暫停 (都將使用非標準或非自訂 ACK 程式碼) 已經不會列出任何 ACK 程式碼。

下表表示這種情況。表格後面說明撰寫的解譯。

alternate text

防空砲火及 CA,訊息處理永遠會成功,不論任何可接受 ACK 代碼設定已選取。以下是可接受的 ACK 代碼設定的相關資訊︰

  • 防空砲火,CA︰ 重試次數 AE,CE、 衝鋒槍,CR 和其他任何暫止。

  • 防空砲火,CA,AE,CE︰ 接受和成功︰ 防空砲火,CA、 AE、 CE 和衝鋒槍和 CR.,重試的次數會暫停其他任何。

  • 防空砲火,CA,AR CR︰ 接受和成功︰ 防空砲火,CA,AR、 CR 和 AE 」 和 「 CE,重試的次數。暫止的任何其他的資訊。

  • 防空砲火,CA,AR、 CR AE、 CE︰ 接受和成功︰ 在傳回的防空砲火,CA,AR、 CR、 AE、 CE 和其他。ACK 重試一次,並擱置訊息。

  • 自訂 (輸入並以逗號分隔)。範例︰ 防空砲火、 AE、 Foo、 ZZ、 ZZZ)。已接受和成功︰ 防空砲火,CA、 AE 加上任何其他輸入例如 Foo 」、 「 ZZ 和 「 ZZZ 自訂 ACK 在此情況下。重試次數 CE,衝鋒槍。

  • 可接受的自訂 ACK 代碼中未指定任何 ACK 程式碼不會重試和暫停。


當標準的 ACK 未輸入在 [可接受的 ACK 代碼] 下時,會傳回類似下列的錯誤︰

配接器無法傳輸訊息至傳送埠與 URL"127.0.0.1:33000"的"< SendPortName >"。它會將此傳送埠指定的重試間隔後重新傳輸。詳細資料:"訊息與訊息識別碼︰ < 訊息識別碼 >所收到帶有通知類型︰ 錯誤和 ACK 錯誤碼︰ CE。


藉由加入至現有的標準 Ack 防空砲火、 AE,AR,CA、 CE (CR) 清單,您必須修改的全新 ACK 結構描述。任何其他可接受自訂 Ack ([ZZ,如範例中的 [XX) 必須加入 ACK 結構描述中的 [ MSA.1_AcknowledgementCode ] 欄位中。如果其他的自訂 Ack 不會加入至結構描述,管線驗證 「 找不到資料表值 」 錯誤而失敗。


alternate text

更多的資訊

若要安裝軟體更新的先決條件

若要套用此 hotfix,您必須安裝下列軟體︰

  • Microsoft BizTalk Server 2013 R2

  • Microsoft BizTalk 2013 R2 快速鍵 HL7

重新啟動需求

您不必套用此 hotfix 之後,重新啟動電腦。不過,我們建議您關閉並重新開啟 hotfix 安裝後的 BizTalk 管理主控台。

此 hotfix 的英文版具有下列表格中所列檔案屬性 (或較新的檔案屬性)。這些檔案的日期和時間會以國際標準時間 (UTC) 格式列出。當您檢視檔案資訊時,會將它轉換為本地時間。若要查看 UTC 與當地時間的時差,請在 [控制台] 中的日期和時間項目使用 [時區] 索引標籤。

檔案名稱

檔案版本

檔案大小

日期

時間

平台

Microsoft.Solutions.BTAHL7.HL72fDasm.dll

3.10.325.2

107520



09-Feb-2015

22:52

x86

Microsoft.Solutions.BTAHL7.PipelineCommon.dll

3.10.325.2

95232



09-Feb-2015

22:52

x86

Microsoft.Solutions.BTAHL7.Shared.dll

3.10.325.2

99328



09-Feb-2015

22:52

x86

Microsoft.Solutions.BTAHL7.MLLP.dll

3.10.325.2

128000



09-Feb-2015

22:52

x86

Microsoft.Solutions.BTAHL7.HL7AckHelper.dll

3.10.325.2

29696



09-Feb-2015

22:52

x86


狀態

Microsoft 已確認這是<套用>一節所列出的 Microsoft 產品的問題。

參考

如需有關 BizTalk Server hotfix 的詳細資訊,請參閱BizTalk Server hotfix 的相關資訊

深入了解用來描述 Microsoft 軟體更新標準術語

本文將所述之產品製造協力廠商均與 Microsoft 無關。Microsoft 不對這些產品之其他相關效能或可靠性作出任何擔保或默示。


需要更多協助?

擴展您的技能
探索訓練
優先取得新功能
加入 Microsoft 測試人員

這項資訊有幫助嗎?

感謝您的意見反應!

感謝您的意見反應! 我們將協助您與我們的其中一個 Office 支援專員連絡以深入了解您的意見。

×