【问题标题】:Is it possible that both TA1 and 999 missing in BizTalk when inbounding a bad formatted X12 file?入站格式错误的 X12 文件时,BizTalk 中是否可能缺少 TA1 和 999?
【发布时间】:2016-08-12 04:38:03
【问题描述】:

这是我第一次遇到这个。

通常当我们收到入站 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 的错误还是正常行为?
  • 如果这是正常的,捕获此错误的最佳机制是什么? 回复贸易伙伴。

【问题讨论】:

    标签: biztalk edi biztalk-2013 x12


    【解决方案1】:

    您绝对不应该期望 999(这将是特定于事务集的),因为此错误会阻止 BizTalk 解析事务集 - 它没有可靠的方法来确定它是哪种事务。

    TA1 可能是合适的,但这似乎是一个灰色区域 - 可能值得联系 Microsoft 支持。 documentation 表示无效的 ISA 会导致 TA1 为负,但 error codes for TA1 并未将此特定场景列为支持(或根本不支持)。

    一种可能的解决方法是捕获此类消息,为其生成 TA1,然后将其路由回 TP。但是,具有非唯一分隔符可能无法从消息本身确定 TP,即使您可能能够从上下文中确定它(但如果多个贸易伙伴使用相同的端口/位置,则可能无法确定)。我的猜测是这就是为什么 BizTalk 没有开箱即用地正确处理它的原因。老实说,除非这种情况相当频繁地发生,否则在例外情况下通过人工干预来处理它可能会更容易/更现实。

    就捕获消息而言,我认为您需要一个自定义管道组件 - 甚至可能将 EdiDisassembler 子类化,以便您可以捕获此特定异常并进行处理。

    【讨论】:

      猜你喜欢
      • 2017-09-30
      • 2016-10-11
      • 2016-03-20
      • 2020-11-03
      • 1970-01-01
      • 2019-11-23
      • 1970-01-01
      • 2015-05-28
      • 2019-02-24
      相关资源
      最近更新 更多