生成传出 AS2 消息

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

协议、目标和消息ID确定

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(和 AS2)标头生成到 HTTP.UserHttpHeaders 上下文属性中。 有关此过程的详细信息,请参阅 Send-Side 处理 AS2 上的传出 EDI 消息

  • HTTP.UserHttpHeaders写入到上下文中。

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

  • 执行 MIME 处理,包括加密消息(如果邮件中启用 应加密 协议属性)和应用数字签名(如果邮件中已启用 )应签署 协议属性)。 AS2Send 管道根据协议设置使用 SHA1 或 MD5 来应用签名。

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

  • 创建加密消息(以数据线格式)的副本,并在启用了协议属性中的 出站编码 AS2 消息的 NRR 的情况下,将副本存储在不可抵赖数据库中。

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

  • 将消息传递到 HTTP 适配器,该适配器将标头从 UserHTTPHeaders 上下文属性写入传出 AS2 消息。

  • 如果需要确保消息传送的可靠性,请持续重新发送消息,直到收到 MDN。

另请参阅

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