生成传出 AS2 消息

AS2EDISend 和 AS2Send 发送管道生成出站消息,如下所示。 每个管道使用 " 协议属性 " 对话框的单向协议选项卡中的属性来生成传出的 AS2 消息。

确定协议、目标和 MessageID

AS2 发送管道确定用于发送 AS2 消息的协议和目标,如下所示:

  • 为了确定处理传出消息时使用的协议,AS2 编码器尝试将消息中的 AS2-To 属性和参与方业务配置文件的 AS2Identity 进行匹配,或者将订阅消息的发送端口和与协议关联的发送端口进行匹配。 有关此过程的详细信息,请参阅 传出 AS2 消息的协议解析

  • 若要确定消息的目标,动态发送端口中的发送管道使用 OutboundTransportLocation 属性,该属性必须由后端应用程序写入或升级到上下文,以便动态发送端口正常工作。 静态发送管道中的发送管道将通过 AS2 协议属性中的 AS2-From 属性和业务配置文件属性的标识来确定目标。

  • AS2 编码器需要设置传出 AS2 消息的 MessageId 标头。 发送管道从 EdiIntAS.MessageId 上下文属性或 HTTP.UserHttpHeaders 上下文属性确定 MessageId。 如果同时设置了这两个上下文属性,编码器将使用上下文属性中 HTTP.UserHttpHeaders 的值。 如果两者均未设置,则发送管道将为 MessageID 自动生成值。

传出消息处理

AS2 发送管道处理传出 AS2 消息时使用的步骤如下所示:

  • 以本机格式创建消息的副本,并将该副本存储在不可否认数据库中(如果在协议属性中启用 AS2 消息的不可否认)。

  • AS2 编码器在上下文属性中 HTTP.UserHttpHeaders 生成 HTTP (和 AS2) 标头。 有关此过程的详细信息,请参阅 通过 AS2 发送的传出 EDI 消息的发送方处理

  • 写入 HTTP.UserHttpHeaders 上下文。

  • 压缩传出消息(如果已启用)。

  • 执行 MIME 处理,其中包括加密消息 (如果消息中启用了 " 应为加密 协议" 属性) 并应用数字签名 (如果在消息中启用了 " 签名 协议" 属性) 。 AS2Send 管道使用 SHA1 或 MD5 根据协议设置来应用签名。

  • 如果已在协议属性中启用传输文件名,则创建一个包含指定值的 Content-Disposition MIME 标头。

  • 以传输格式将加密消息 (为) 的副本,并将该副本存储在不可否认数据库中(如果在 "协议" 属性中启用了 " 为出站编码的 AS2 消息启用 NRR " 中启用)。

  • 如果需要 MDN,将计算 MIC 值并将其存储在数据存储中。

  • 将消息传递到 HTTP 适配器,该适配器将 Http.userhttpheaders 上下文属性中的标头写入传出的 AS2 消息。

  • 如果需要可靠的消息传递,则会重新发送消息,直到收到 MDN。

另请参阅

BizTalk Server 如何发送 AS2 消息
AS2 发送组件