簡體   English   中英

在入站格式錯誤的X12文件時,BizTalk中是否可能缺少TA1和999?

[英]Is it possible that both TA1 and 999 missing in BizTalk when inbounding a bad formatted X12 file?

這是我第一次見到這個。

通常我們收到入站X12文件。 將始終生成999(通過BizTalk中的配置),並且在發生交換級別錯誤的情況下,將創建TA1。

但是今天我得到了一個帶有一些格式錯誤的X12文件,BizTalk中的錯誤彈出窗口是:

 Delimiters are not unique, field and component seperator are the same.
 The sequence number of the suspended message is 1. 

我希望生成一個999或TA1來拒絕入站文件。 但這兩個文件都沒有創建。

我的問題:

  • 我希望為這種錯誤創建什么文件? 999還是TA1?
  • 這是BizTalk的錯誤或正常行為嗎?
  • 如果這是正常的,那么捕獲此錯誤並回復給貿易伙伴的最佳機制是什么。

您絕對不應該期望999(特定於事務集),因為此錯誤會阻止BizTalk解析事務集 - 它沒有可靠的方法來確定它是什么類型的事務。

TA1可能是合適的,但這似乎是一個灰色區域 - 可能值得聯系微軟的支持。 文檔指出無效的ISA應導致負TA1,但TA1的錯誤代碼不會將此特定方案列為支持(或根本不支持)。

可能的解決方法是捕獲此類消息,為其生成TA1,並將其路由回TP。 但是,使用非唯一分隔符可能無法從消息本身確定TP,即使您可以從上下文中確定它(但如果多個貿易伙伴使用相同的端口/位置,則可能不會)。 我的猜測是,這就是為什么BizTalk沒有正確處理它的原因。 說實話,除非這種情況經常發生,否則在人為干預的例外基礎上處理它可能更容易/更可行。

至於捕獲消息,我認為你需要一個自定義管道組件 - 甚至可能子類化EdiDisassembler,這樣你就可以捕獲這個特殊的異常並處理它。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM