保留接收的批处理 EDI 交换


本主题中提及的所有用户接口选项都可在协议属性对话框中的双向协议选项卡的本地主机设置页(接收方设置部分)中找到。

EDI 接收管道保留传入批处理 EDI 交换时,将不按常规过程把每个事务集/消息解析为单独的中间 XML 文件。EDI 接收管道将交换作为一个文档进行处理而不拆分事务集/消息。当入站批处理选项属性设置为保留交换 - 出错时挂起交换保留交换 - 出错时挂起事务集时,将会出现此情况。

架构验证

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

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

接收方处理

EDI 拆装器按如下方式处理保留批:

  • EDI 拆装器处理一个要保留的批时,它将把平面文件格式转换为 XML 并将     X12InterchangeXML     EdifactInterchangeXML 添加为 XML 根节点。这将指示发送管道应保留该批处理交换,并指示应使用 Edifact_BatchSchema X12_BatchSchema 架构来验证根节点。

  • 拆装器将 DelimiterSetSerializedData 属性添加到批处理 XML 消息的根节点,以指示发送管道在从 XML 消息生成批处理 EDI 交换时使用分隔符。当 XML 消息是保留批时,该属性将由接收管道使用传入消息中的分隔符来填充。当批处理 XML 由批处理业务流程生成时,该属性将由协议属性中指定的值填充。

  • 拆装器在创建 XML 编码的保留交换时使用以下命名空间之一:http://schemas.microsoft.com/BizTalk/EDI/EDIFACT/2006/InterchangeXMLhttp://schemas.microsoft.com/BizTalk/EDI/X12/2006/InterchangeXML

  • 拆装器会升级上下文属性EDI.ReuseEnvelope == True以将交换标识为保留。这将允许您创建用于订阅所有保留的批处理交换的发送端口。

spacer.gif便笺

如果入站批处理选项设置为保留交换,则 HIPAA 文档将不会拆分为子文档。即使 HIPAA 架构内的子文档创建中断批注设置为“Yes”,也是如此。

错误处理

如果已为入站批处理选项选择了保留交换 - 出错时挂起交换,则整个交换将在出现错误时挂起。如果 BizTalk Server 挂起整个保留的交换,则该交换内的交换结构和事务集顺序将被保留。在出现错误的情况下,BizTalk Server 将在事件日志中发布一个合并错误条目。此条目将包括交换、功能组和事务集级别中的所有错误。

如果已为入站批处理选项选择了保留交换 - 出错时挂起事务集,则 EDI 接收管道将删除来自交换的所有无效事务集并继续创建交换 XML。要重用现有的控制段信封(对于 X12 编码的交换为 ISAGSGE,对于 EDIFACT 编码的交换为 UNAUNBUNGUNE UNZ),必须使用创建的该交换 XML。该交换将被视作已成功处理的文档;但是,错误将在事件查看器中进行报告,如果生成功能确认,则将报告该错误。BizTalk Server 将在事件日志中为出错的每个事务集创建一个单独的条目。如果 BizTalk Server 删除来自交换的错误事务集,则可能不保留交换结构和顺序。BizTalk Server 将更新交换中的事务集数目。

挂起的出错事务集具有以下特殊情况:

  • 如果组中的所有事务集都是无效的,则将单独挂起每个事务集;但是,该组控制段(没有事务集,因为已被删除)将包括在生成的交换 XML 中。

  • 如果交换中的所有事务集都是无效的,则将单独挂起每个事务集;但是,该交换控制段(没有事务集,因为已被删除)将包括在生成的交换 XML 中。

  • 如果组控制段无效,则将单独挂起该组中的所有事务集。

  • 如果交换控制段无效,则将单独挂起该交换中的所有事务集,且不会生成交换 XML,但会在事件查看器中为拒绝的交换创建日志。