[英]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(特定於事務集),因為此錯誤會阻止BizTalk解析事務集 - 它沒有可靠的方法來確定它是什么類型的事務。
TA1可能是合適的,但這似乎是一個灰色區域 - 可能值得聯系微軟的支持。 文檔指出無效的ISA應導致負TA1,但TA1的錯誤代碼不會將此特定方案列為支持(或根本不支持)。
可能的解決方法是捕獲此類消息,為其生成TA1,並將其路由回TP。 但是,使用非唯一分隔符可能無法從消息本身確定TP,即使您可以從上下文中確定它(但如果多個貿易伙伴使用相同的端口/位置,則可能不會)。 我的猜測是,這就是為什么BizTalk沒有正確處理它的原因。 說實話,除非這種情況經常發生,否則在人為干預的例外基礎上處理它可能更容易/更可行。
至於捕獲消息,我認為你需要一個自定義管道組件 - 甚至可能子類化EdiDisassembler,這樣你就可以捕獲這個特殊的異常並處理它。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.