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。