保留接收的批处理 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/InterchangeXML
或http://schemas.microsoft.com/BizTalk/EDI/X12/2006/InterchangeXML
。反汇编程序提升上下文属性
EDI.ReuseEnvelope == True
,以将交换标识为保留。 这将允许您创建用于订阅所有保留的批处理交换的发送端口。注意
如果将 “入站批处理”选项 设置为“ 保留交换”,则 HIPAA 文档不会拆分为子文档。 即使 HIPAA 架构内的子文档创建中断批注设置为“Yes”,也是如此。
错误处理
如果已为“入站批处理”选项选择了“保留交换 - 出错时挂起交换”,则由于出现任何错误,整个交换都将挂起。 如果 BizTalk Server 挂起整个保留的交换,则该交换内的交换结构和事务集顺序将被保留。 在出现错误的情况下,BizTalk Server 将在事件日志中发布一个合并错误条目。 此条目将包括交换、功能组和事务集级别中的所有错误。
如果已为入站批处理选项选择了“ 保留交换 - 出错时挂起事务集 ”,则 EDI 接收管道将从交换中删除任何无效的事务集,并继续创建交换 XML。 要重用现有的控制段信封(对于 X12 编码的交换为 ISA、GS、GE,对于 EDIFACT 编码的交换为 UNA、UNB、UNG、UNE 和 UNZ),必须使用创建的该交换 XML。 该交换将被视作已成功处理的文档;但是,错误将在事件查看器中进行报告,如果生成功能确认,则将报告该错误。 BizTalk Server 将在事件日志中为出错的每个事务集创建一个单独的条目。 如果 BizTalk Server 删除来自交换的错误事务集,则可能不保留交换结构和顺序。 BizTalk Server 将更新交换中的事务集数目。
挂起的出错事务集具有以下特殊情况:
如果组中的所有事务集都是无效的,则将单独挂起每个事务集;但是,该组控制段(没有事务集,因为已被删除)将包括在生成的交换 XML 中。
如果交换中的所有事务集都是无效的,则将单独挂起每个事务集;但是,该交换控制段(没有事务集,因为已被删除)将包括在生成的交换 XML 中。
如果组控制段无效,则将单独挂起该组中的所有事务集。
如果交换控制段无效,则将单独挂起该交换中的所有事务集,且不会生成交换 XML, 但会在事件查看器中为拒绝的交换创建日志。