驗證收到的 EDI 消息
EDI 接收管道處理傳入的消息時,将對信封和消息資料執行一系列驗證。其中一些處理将始終執行,而有些處理将僅在您啟用的情況下才執行。這些驗證包括:
- 始終執行的驗證:
- 驗證交換信封的結構。
- 針對貿易合作夥伴協定(如果未定義任何協定,則為後備協定)進行的信封驗證。
- 根據控制架構執行信封的架構驗證。
- 針對消息架構進行的事務集資料元素架構驗證。
- 根據 X12 标準提供的事務集-組映射驗證單個組内事務集的類型。
- 僅在啟用時執行的驗證:
- 對事務集資料元素執行 EDI 驗證。如果在協定屬性中啟用了此驗證,則執行此驗證。
- 對事務集資料元素執行擴充驗證。如果在協定屬性中啟用了此驗證,則執行此驗證。
- 對事務集資料元素進行跨字段驗證(僅限 X12 編碼消息)。如果在消息架構中啟用了此驗證,則執行此驗證。
發送 EDI 确認
确認訓示 EDI 消息傳輸的狀态。在 BizTalk Server 收到 EDI 交換後,會根據已啟用的确認将一個或多個确認傳回給 EDI 交換的發送方。
基于驗證的級别,EDI 消息确認會分為兩種類型:
- 标頭驗證的結果是生成“技術确認”。技術确認報告位址接收方對交換标頭和尾部的處理的狀态。
- 正文驗證的結果是生成“功能确認”。功能确認報告在處理所接收文檔時遇到的每個錯誤。
BizTalk Server 可同時傳回技術确認和功能确認以響應單個交換。BizTalk Server 為每個交換傳回單個技術确認。對于 x12 交換,它将為收到的每個組傳回功能确認。對于 EDIFACT 交換,它将為每個交換傳回功能确認,而無論該交換包含多少個組。
X12 确認
X12 技術确認
如果 X12 消息的 ISA 标頭和 IEA 尾部都有效(不考慮其他内容),則會發出肯定的 TA1 确認。有關 TA1 确認内容的詳細資訊,請參閱X12 TA1 确認。
X12 功能确認
997 确認用于确認對交換或功能組的接受,接受或拒絕一個或多個功能組或者一項或多項事務,以及确認并報告與标準的符合情況。如果 BizTalk Server 收到具有多個組的交換,将為每個組傳回确認。如果某個組包含多個事務集,該組的确認将根據是否為接受的事務集生成 AK2 循環而包含多個 AK2 循環(每個事務集一個循環)。有關 997 确認内容的詳細資訊,請參閱X12 997 确認。
便箋 |
當 EDI 接收管道為 X12 功能确認建構功能組标頭 (GS) 段時,會從正被确認的功能組摘取應用程式發送方代碼 (GS02) 和應用程式接收方代碼 (GS03)。但是,傳入消息上的 GS02 會映射到确認上的 GS03,GS03 映射到确認上的 GS02。 |
EDIFACT 确認
EDIFACT 技術确認
對于 EDIFACT,不會使用單獨的技術确認,但技術确認或 CONTRL 确認部分(參見下面的内容)卻可重複用于确認回執。這是模拟的技術确認。
有關技術 CONTRL 确認的詳細資訊,請參閱作為技術确認的 EDIFACT CONTRL 消息。
EDIFACT 功能确認
對于 EDIFACT,功能 CONTRL 确認用于确認收到的交換、組和消息,接受或拒絕收到的交換、組和消息,并列出其中包含的所有文法錯誤以及不受支援的功能。CONTRL 确認報告對已完全收到的交換所進行的文法檢查的結果。
有關功能 CONTRL 确認的詳細資訊,請參閱作為功能确認的 EDIFACT CONTRL 消息。
何時生成确認
如果滿足以下條件之一,EDI 接收管道就會生成一個确認:
- 收到的交換中的資料元素提示确認。對于 X12 編碼的消息,如果 ISA14 資料元素設定為 1,接收管道會生成技術 TA1 确認。對于 EDIFACT 編碼的消息,如果 UNB9 資料元素設定為 2,接收管道會生成技術 CONTRL 确認;如果 UNB9 資料元素設定為 1,則生成功能 CONTRL 确認。
- 協定屬性提示确認。對于 X12 交換,這些屬性是“協定屬性”對話框的雙向協定頁籤的“确認”頁中的“預期 TA1”和“預期 997”屬性。對于 EDIFACT 交換,這些屬性是“協定屬性”對話框的雙向協定頁籤的“确認”頁中的“預期接收消息(CONTRL)”和“預期确認(CONTRL)”。當啟用一種确認類型後,還可以指明是否批處理該類型的确認。
- 如果沒有為交換确定協定,全局屬性會提示确認。這些屬性是
- “X12 備用設定”對話框的協定頁籤的“确認”頁中的“預期 TA1”和“預期 997”屬性。
- “EDIFACT 備用設定”對話框的協定頁籤的“确認”頁中的“預期接收消息(CONTRL)”和“預期确認(CONTRL)”屬性。
對于 EDIFACT,如果技術确認和功能确認同時被提示,EDI 接收管道會傳回兩個獨立的 CONTRL 确認。技術 CONTRL 确認隻包括确認回執資訊。功能 CONTRL 确認則包含回執資訊和功能确認資訊。有關詳細資訊,請參閱EDIFACT CONTRL 确認。
使用控制編号辨別确認
每個确認都要用用于 X12 的事務集控制編号(ST2 資料元素)或用于 EDIFACT 的事務集參考編号(UNH1 資料元素)來辨別。如果為傳出确認配置協定,則 BizTalk Server 将事務集控制編号或參考編号設定為根據以下各項為協定設定的值:
- 對于 X12 确認 –“協定屬性”對話框的協定頁籤的“本地主機設定”頁(“接收方設定”部分)中的“确認控制編号(ST02)”屬性
- 對于 EDIFACT 确認 –“協定屬性”對話框的協定頁籤的“本地主機設定”頁(“接收方設定”部分)中的“Edifact 确認控制編号”屬性
如果 BizTalk Server 并不确定确認的協定,将使用“X12 備用設定”和“EDIFACT 備用設定”對話框的協定頁籤中提供的與上述屬性相同的屬性。此設定适用于技術确認和功能确認(如果二者都已配置)。每生成一個确認或交換,該整數都将遞增 1。
确認的信封根據确認控制架構利用接收到的消息中的資料生成。
準備确認
BizTalk Server 為确認生成信封的方法,就像為消息生成信封一樣,通過檢視交換控制标頭和功能組标頭的定義來完成。有關詳細資訊,請參閱傳出 EDI 消息的協定解析和架構确定。
為啟用生成确認(TA1、997 或 CONTRL)的無縫路由,EDI 拆裝器會在确認上填充DestinationPartyReceiverQualifier、DestinationPartyReceiverIdentifier、DestinationPartySenderQualifier和DestinationPartySenderIdentifier屬性。
同步和異步确認
您可以選擇以同步還是異步的方式來發送 EDI 确認。如果選擇同步發送,BizTalk Server 會直接将确認路由到雙向請求-響應接收端口的發送管道。如果選擇異步發送,BizTalk Server 會将确認路由到 MessageBox,同時會有一個發送端口訂閱該消息。
若要指定 BizTalk Server 同步發送确認,請選擇雙向協定頁籤(對于 X12 和 EDIFACT 協定)“交換設定”下的“本地主機設定”頁(“接收方設定”部分)中的“将确認路由到請求-響應接收端口的發送管道”。如果清除該屬性,雙向接收端口的發送管道則必須設定為傳回 EDI 交換。