发送预留批交换

当 EDI 发送管道处理保留的出站批交换时,它会整体处理该批交换。 它通常在创建 EDI 报文交换时重新使用现有的信封(控制)段,而不是根据协议应用新的信封。 当 入站批处理选项 属性设置为 保留交换 - 在错误时挂起交换保留交换 - 在错误时挂起事务集,将发生这种情况。

架构验证

BizTalk Server 使用批架构和服务架构校验已保存的批次信封。 批架构用于验证被保留的消息的根节点;服务架构用于验证交换、组和事务集的标头和尾部。 有关批处理架构的详细信息,请参阅 EDI 批处理架构。 有关服务架构的详细信息,请参阅 EDI 服务和控制架构

BizTalk Server 使用项目中的文档架构验证批处理交换中的文档。

Send-Side 处理

当 EDI 汇编程序处理保留的交换时,它通常使用相同的交换、组和事务集标头,这些标头在收到时存在于批处理交换中。

  • 对于 X12 交换,在“协议属性”对话框的单向协议选项卡中,不同页面上的属性设置(决定 BizTalk Server 如何创建传出交换的 ISA、GS 和 ST 标头)通常并不适用。

  • 对于 EDIFACT 交换,协议属性中 UNA 设置通常被使用。 UNA 段在 EDIFACT 编码的消息中是可选的,但在序列化一个保留的批量交换时是必需的。 如果 XML 实例中没有 UNA 段的值,将使用发送管道组件的默认属性值。 如果发送管道组件属性未设置值,则保留的批处理中间 XML 消息将被挂起。

  • 如果在要保留的交换上将上下文属性EDI.PopulateInterchangeValues设为“True”(在自定义组件中),那么发送端口中的EdiAssembler会将所有交换、组和事务集的标头填充为协议属性中指定的值。

  • 如果在发送管道处理交换之前将 EDIOverride.OverrideEdiHeader 上下文属性设置为“True”,则可以通过设置相应的 EDIOverride 上下文属性值来覆盖出站文档的信封值。 有关详细信息,请参阅 重写 EDI 标头

    对于没有错误的保留交换,汇编程序将保留交换组中的事务集序列以及交换中的组序列。

注释

可以使用 XML 发送管道发送已保存的批次。 但是,为此,需要更改批处理架构的命名空间。 如需更多信息,请参阅 使用 XML 发送管道来发送已保留的批处理

错误处理

由于 XML 中的保留标记,EDI 发送管道将批处理 EDI 交换识别为保留的批。 此标记( <X12InterchangeXml> 或 <EdifactInterchangeXml>)由 EDI 接收管道应用于 XML。

以下特殊情况应用于错误时暂停事务集:

  • 如果组中的所有事务集都无效,则 EDI 发送管道将包括生成的 EDI 中的组控制段,但该组将不包含任何事务集(因为它们已被删除)。 组页脚总计被更新为零。 交换控制段保持不变。

  • 如果交换中的所有事务集都无效,则交换控制段仍将包含在生成的 EDI 交换中,但交换将不包含任何事务集(因为它们已被删除)。 这将导致没有实际内容的交换。

  • 如果组控制段或交换控制段无效,则不会生成 EDI 编码的交换。 将在事件查看器中创建一个日志,指示交换被拒绝。

另请参阅

批处理传出 EDI 消息