传出 MDN 由 AS2EDIReceive 或 AS2Receive 接收管道生成,并由 AS2Send 管道发送。 本主题介绍如何发送 MDN。 有关如何生成 MDN 的详细信息,请参阅 生成传出 MDN。
注释
AS2EDISend 发送管道不用于发送传出 MDN,因为该管道中的 EDI 汇编程序不用于处理 MDN。
MDN 协议的解决方案
MDN 是自我路由的。 它包含需要传输到预期合同的信息。 发送管道利用 AS2 协议中的属性来处理传出的 MDN。 但是,MDN 不必达成协议就可以将其路由到接收方。
当 AS2Send 管道处理传出 MDN 时,它将使用消息上下文中的 AS2-To 值来获取协议属性来处理 MDN。 为此,它在“协议属性”对话框中的单向 AS2 协议选项卡的标识符页上,将AS2-To上下文属性与AS2-To协议属性进行匹配。 如果未为协议设置 AS2-To 值,则 MDN 的此协议解析可能会失败。 如果无法确定协议,则使用默认协议生成 MDN。
在发出 MDN 的默认协议中,将执行证书解析列表的验证。 如果不希望执行此验证,请验证是否已设置正确的 AS2-To 协议属性,以便可以解析接收方并可以确定协议属性。 如果是这样,则不会使用提示验证证书解析列表的默认协议。 还需要在“协议属性”对话框中单向 AS2 协议选项卡的“验证”页上禁用“检查认证吊销列表”属性。
同步和异步传输
在默认 AS2 处理中,同步发送 MDN。 MDN 由与双向接收端口关联的发送端口发送。 BizTalk Server 在同一 TCP/IP 连接上将 MDN 作为 HTTP POST 的响应发送给 HTTP 请求,或作为 HTTPS POST 的响应发送给 HTTPS 请求。 MDN 包含在 HTTP 响应命令的消息正文中。
如果 MDN 是异步发送的,则 MDN 必须由单独的发送端口发送,该端口从 MessageBox 中选取 MDN。 BizTalk Server 将 MDN 作为在唯一 TCP/IP 连接上传递的单独 HTTP Post 发送,这不同于用于传递原始 AS2 消息的 HTTP Post。 尽管 MDN 设置为单独的 HTTP Post,但 Post 仍需要 HTTP 响应命令。
异步 MDN 通常会发送到原始 AS2 消息的 Receipt-Delivery-Option 标头中的 URL。 但是,如果在“协议属性”对话框中单向 AS2 协议选项卡的“验证”页上设置了“使用协议设置验证”和“MDN”而不是消息标头属性,则 MDN 将发送到“收据-Delivery-Option(URL)”协议属性设置为的 URL。
如何通过发送管道处理传出的 MDN
AS2Send 管道按以下步骤处理传出的 MDN:
执行 MIME 处理,包括应用数字签名(如果在 AS2 单向协议属性中启用)。
在不可抵赖数据库中创建关联条目(BizTalkDTADb 数据库的 EdiMessageContent 表)。
创建 MDN(线路格式)的副本,并将其存储在不可否认数据库中,如果在出站 MDN 协议属性启用了 NRR。
将 MDN 传递到 HTTP 适配器。