发送 EDI 确认

确认指示 EDI 消息传输的状态。 BizTalk Server收到 EDI 交换后,它将向 EDI 交换的发送方返回一个或多个确认,具体取决于启用了哪些确认。

基于验证的级别,EDI 消息确认会分为两种类型:

  • 作为标头验证结果生成的 技术确认 。 技术确认报告地址接收方进行的交换标头和尾部处理的状态。

  • 作为正文验证结果生成的 功能确认 。 功能确认报告在处理所接收文档时遇到的每个错误。

    BizTalk Server可以返回技术和功能确认,以响应单个交换。 BizTalk Server为每个交换返回单个技术确认。 对于 x12 交换,它将为收到的每个组返回功能确认。 对于 EDIFACT 交换,它将为每个交换返回功能确认,而无论该交换包含多少个组。

X12 确认

X12 技术确认

如果 X12 消息的 ISA 标头和 IEA 尾部都有效(不考虑其他内容),则会发出肯定的 TA1 确认。 有关 TA1 确认内容的详细信息,请参阅 X12 TA1 确认

X12 功能确认

997 确认用于确认对交换或功能组的接受,接受或拒绝一个或多个功能组或者一项或多项事务,以及确认并报告与标准的符合情况。 如果BizTalk Server收到与多个组的交换,它将返回每个组的确认。 如果某个组包含多个事务集,该组的确认将根据是否为接受的事务集生成 AK2 循环而包含多个 AK2 循环(每个事务集一个循环)。 有关 997 确认内容的详细信息,请参阅 X12 997 确认

注意

当 EDI 接收管道为 X12 功能确认构建功能组标头 (GS) 段时,会从正被确认的功能组摘取应用程序发送方代码 (GS02) 和应用程序接收方代码 (GS03)。 但是,传入消息上的 GS02 会映射到确认上的 GS03,GS03 映射到确认上的 GS02。

EDIFACT 确认

EDIFACT 技术确认

对于 EDIFACT,不会使用单独的技术确认,但技术确认或 CONTRL 确认部分(参见下面的内容)却可重复用于确认回执。 这是模拟的技术确认。

有关技术 CONTRL 确认的详细信息,请参阅 作为技术确认的 EDIFACT CONTRL 消息

EDIFACT 功能确认

对于 EDIFACT,功能 CONTRL 确认用于确认收到的交换、组和消息,接受或拒绝收到的交换、组和消息,并列出其中包含的所有语法错误以及不受支持的功能。 CONTRL 确认报告对已完全收到的交换所进行的语法检查的结果。

有关功能 CONTRL 确认的详细信息,请参阅 作为功能确认的 EDIFACT CONTRL 消息

何时生成确认

如果满足以下条件之一,EDI 接收管道就会生成一个确认:

  • 收到的交换中的数据元素提示确认。 对于 X12 编码的消息,如果 ISA14 数据元素设置为 1,则接收管道将生成技术 TA1 ACK。 对于 EDIFACT 编码的消息,如果 UNB9 数据元素设置为 2,接收管道将生成技术 CONTRL ACK;如果 UNB9 数据元素设置为 1,它将生成功能 CONTRL 确认。

  • 协议属性提示确认。 对于 X12 交换,这些属性是“协议属性”对话框的双向协议选项卡的“确认”页中的“TA1 预期”和“997 预期”属性。 对于 EDIFACT 交换,这些属性是“接收消息 (CONTRL) 预期”和“确认 (CONTRL) 预期在”协议属性“对话框的双向协议选项卡的”确认“页中。 当启用一种确认类型后,还可以指明是否批处理该类型的确认。

  • 如果没有为交换确定协议,全局属性会提示确认。 这些属性是

    • TA1“预期”和“997”预期“属性位于”X12 回退设置“对话框的”协议“选项卡的”确认“页中。

    • 在“EDIFACT 回退设置”对话框的“协议”选项卡的“确认”页中,收到 (CONTRL) 预期和确认 (CONTRL) 。

    对于 EDIFACT,如果技术确认和功能确认同时被提示,EDI 接收管道会返回两个独立的 CONTRL 确认。 技术 CONTRL 确认只包括确认回执信息。 功能 CONTRL 确认则包含回执信息和功能确认信息。 有关详细信息,请参阅 EDIFACT CONTRL 确认

使用控制编号标识确认

每个确认都要用用于 X12 的事务集控制编号(ST2 数据元素)或用于 EDIFACT 的事务集参考编号(UNH1 数据元素)来标识。 如果为传出确认配置了协议,BizTalk Server将根据以下内容将事务集控制或引用编号设置为为协议设置的值:

  • 对于 X12 确认 - (ACK 控制编号 (“ 本地主机设置” 页 (接收方的“设置” 部分) “ 协议属性 ”对话框中的“协议”选项卡的 ST02) 属性

  • 对于 EDIFACT 确认 - (“协议属性”对话框中协议选项卡的“本地主机设置”页 (接收方的“设置”部分) Edifact Ack 控制编号属性

    如果BizTalk Server未确定确认协议,它将使用上述相同属性,但在“X12 回退设置”ad EDIFACT 回退设置对话框中的“协议”选项卡上可用。 此设置适用于技术确认和功能确认(如果二者都已配置)。 每生成一个确认或交换,该整数都将递增 1。

    确认的信封根据确认控制架构利用接收到的消息中的数据生成。

准备确认

BizTalk Server 为确认生成信封的方法,就像为消息生成信封一样,通过查看交换控制标头和功能组标头的定义来完成。 有关详细信息,请参阅 传出 EDI 消息的协议解析和架构确定

若要启用生成的确认 (TA1、997 或 CONTRL) 的无缝路由,EDI 反汇编程序将在确认中填充 DestinationPartyReceiverQualifierDestinationPartyReceiverIdentifierDestinationPartySenderQualifierDestinationPartySenderIdentifier 属性。

同步和异步确认

您可以选择以同步还是异步的方式来发送 EDI 确认。 如果选择同步发送,BizTalk Server 会直接将确认路由到双向请求-响应接收端口的发送管道。 如果选择异步发送,BizTalk Server 会将确认路由到 MessageBox,同时会有一个发送端口订阅该消息。

若要指定BizTalk Server同步发送确认,请在“本地主机设置”页中选择“路由确认”以在请求-响应接收端口上发送管道, (接收方的“设置”部分) X12 和 EDIFACT 协议) 双向协议选项卡 (下的“交换设置”部分。 如果清除该属性,双向接收端口的发送管道则必须设置为返回 EDI 交换。

如果方案使用的是请求-响应接收端口,并且技术确认和功能确认都已启用,则技术确认就会同步发回,而功能确认则异步发回。

通过 HTTP/HTTPS 接收 EDIINT/AS2 编码的消息时,如果在对同一套接字上的以 MIME 包装的 EDI 负载的响应中有 MDN 发出,EDI 确认就不会同步发出。 在这种情况下,如果选中“请求-响应接收端口上发送管道的路由确认”属性,BizTalk Server将忽略 该属性。

另请参阅

EDI 确认结构
EDI 服务和控件架构
X12 TA1 确认
X12 997 确认
EDIFACT CONTRL 确认
作为技术确认的 EDIFACT CONTRL 消息
作为功能确认的 EDIFACT CONTRL 消息