AS2 发送组件
BizTalk Server使用多个组件发送 AS2 消息。
AS2 发送管道
大部分 AS2 发送处理工作都在下列 AS2 发送管道中进行。 这些管道安装在 \Program Files\Microsoft BizTalk Server 20xx\Pipeline Components 中Microsoft.BizTalk.Edi.EdiIntPipelines.dll
。
注意
AS2 发送管道只在 32 位 BizTalk 主机进程中受支持。
AS2EDISend 管道
此管道生成 EDI 消息并通过 AS2 发送这些消息。 管道由以下管道组件组成:
EDI 组装器
AS2 编码器
此管道不用于生成和通过 AS2 发送 MDN,因为 MDN 不需要由 EDI 组装器处理。 使用 AS2SendPipeline 发送 MDN。
注意
不支持从业务流程中运行 AS2EDISend 管道。
AS2Send 管道
如果消息未以 EDI 编码,则此管道通过 AS2 发送消息。 此管道还通过 AS2 发送 MDN。 管道由以下管道组件组成:
AS2 编码器。
如果要通过 AS2 发送的消息既不是 EDI 消息,也不是 XML 消息,则可以创建一个自定义 AS2Send 管道来处理这些消息。 此管道必须具有自定义组装器,以便将 BizTalk Server 中的中间 XML 转换为其他格式后再以 EDIINT/AS2 对消息进行编码。
注意
不支持从业务流程运行 AS2Send 管道。
AS2 发送管道组件
AS2 发送管道使用以下管道组件。 这些组件安装在 \Program Files\Microsoft BizTalk Server 20xx\Pipeline Components\ 中Microsoft.BizTalk.EdiInt.PipelineComponents.dll
。
EDI 汇编程序
在 EDIINT 发送管道中,EDI 组装器将对 EDI 交换进行序列化。
AS2 编码器
AS2 编码器包括在 AS2 发送管道的编码阶段中。 该编码器使用 BizTalk S/MIME 管道组件向 AS2 和 MDN 消息提供 S/MIME 编码功能。 AS2 编码器执行以下操作:
应用 AS2/HTTP 标头
对传出消息进行签名(如果已启用)
对传出消息进行加密(如果已启用)(适用于 EDI/AS2,不适用于 MDN)
压缩消息(如果已启用)(适用于 EDI/AS2,不适用于 MDN)
如果选择 了为出站解码 AS2 消息启用的 NRR 属性,则以线路格式存储有效负载;如果选择 了为出站编码 AS2 消息启用 NRR 属性,则以线路格式存储消息
计算 MIC 值并将其存储在数据存储区中
更新并关联不可否认接收数据库中的记录
对于 MDN 消息,充当直通管道,在 AS2Receive 接收管道中路由 AS2 解码器生成的 MDN。 如果配置设置要求,AS2 编码器将对 MDN 进行签名。
注意
对 AS2 消息使用的是八位编码。 Base64 编码仅应用于 AS2 消息和 MDN 中的签名。
HTTP 适配器
用于 EDIINT AS2 处理的发送端口使用 BizTalk Server HTTP 适配器。 在单向传输和要求-响应传输中均对 HTTP 适配器进行了配置。
不可否认数据库
BizTalk Server 使用不可否认数据库(BizTalkDTADb 数据库的 EdiMessageContent 表)执行以下操作:
注意
仅当检查其中一个不可否认的存储协议属性时,BizTalkDTADb 数据库中才存在 EdiMessageContent 表。
为已签名的 MDN 提供不可否认的跟踪
将出站消息与其传入的 MDN 相关联
通过各种状态更改存储消息
将错误代码与 HTTP 响应和 MDN 关联起来
根据筛选条件显示记录
将标记的记录存档
重要
为确保不可否认数据库中存储的消息的验证和完整性,应对将存储在此数据库中的所有消息使用数字签名,原始 AS2 消息和 MDN 都包含在内。 有关详细信息,请参阅 RFC 1430 第 9.1 节“使用 HTTP 进行基于 MIME 的安全对等业务数据交换,适用性语句 2 (AS2) ” (https://go.microsoft.com/fwlink/?LinkID=184212) 。