若要接收具有 EDI 或非 EDI 有效负载的 AS2 消息,请创建 HTTP 接收端口以接收消息,并将响应返回给参与方。
如果 MDN 将同步返回,则接收端口必须是双向请求-响应接收端口。 接收端口中的接收位置将收到 AS2 消息,而与双向接收端口关联的发送端口将发送同步 MDN。
如果以异步方式返回 MDN,则接收端口可以是单向接收端口,因为必须通过单独的动态发送端口返回 MDN。 接收端口将返回 HTTP 响应,无论是单向端口还是双向端口。 如果将双向接收端口设置为接收 AS2 消息,同时返回 asynchronoius MDN,则 HTTP 响应将通过双向接收位置的发送端口返回。
注释
用于接收 AS2 消息的双向接收端口不应用于接收 MDN 消息。 应在静态单向接收端口上接收 MDN 消息。 对 MDN 使用请求/响应接收端口可防止在响应传入 MDN 时返回 200OK 消息,从而导致不必要的 MDN 传输重试。
使用以下配置创建接收端口:
| 位置 | 资产 | 设置 |
|---|---|---|
| 接收端口属性:常规 | 端口类型 | Request-Response |
| 接收位置属性:常规 | 传输类型 | HTTP 说明: 仅 HTTP 适配器可用于传输 EDIINT/AS2 编码的消息。 此传输不适用于 HTTP 适配器以外的适配器。 |
| 接收位置属性:常规 | 接收处理程序 | BizTalkServerIsolatedHost |
| 接收位置属性:常规 | 接收管道 | - AS2EdiReceive (如果有效负载为 EDI 编码格式) - AS2Receive(如果有效负载不是 EDI 编码) 注意: 使用 AS2EdiReceive 管道时,必须将 BizTalk 独立主机实例进程正在其下运行的用户帐户添加到 BizTalk 应用程序用户组。 AS2EdiReceive 管道在 BizTalk 独立主机实例进程中执行。 AS2EdiReceive 管道访问 SSO 存储,这要求用户位于 BizTalk Server 应用程序用户组中。 |
| 接收位置属性:常规 | 发送管道 | AS2Send |
| HTTP 传输属性 | 虚拟目录和 ISAPI 扩展 | /<name of virtual directory>/BTSHTTPReceive.dll |
| HTTP 传输属性 | Request-Response 返回内容类型 | text/xml |
同步和异步模式下接收位置的功能
双向接收端口执行以下作来接收和处理 EDI/AS2 消息并返回响应:
通过 HTTP 接收 AS2 消息。
使用 AS2EDIReceive 接收管道(对于 EDI 编码的消息)或 AS2Receive 接收管道(对于未在 EDI 中编码的消息)处理 AS2 消息。 有关此过程的详细信息,请参阅 处理传入的 AS2 消息。
在收到的消息上设置以下上下文属性:
IsAS2PayloadMessage == True(因为这是一个负载消息)IsEmptyMDNResponse == False(因为它不是空 MDN)
如果消息是 EDI 编码的,请反汇编 EDI 文件,生成 XML 文件,并将其放入 MessageBox。 将每个 XML 文件的上下文属性
BTS.MessageType设置为具有命名空间的架构名称。如果未对消息进行 EDI 编码,请将其本机格式的邮件拖放到 MessageBox 中。
使用 AS2EdiReceive 接收管道生成 MDN 文件(如果已启用)。 有关此过程的详细信息,请参阅 生成传出 MDN。 设置消息的以下上下文属性:
EdiIntAS.IsAS2AsynchronousMdn == False(如果处于同步模式)EdiIntAS.IsAS2AsynchronousMdn== True(如果处于异步模式)
如果处于同步模式,请使用 AS2Send 发送管道发送 MDN 文件(如果已启用)。 有关此过程的详细信息,请参阅 传送外发 MDN。
如果处于异步模式,请将 MDN 文件(如果已启用)路由到 MessageBox,以便单独的动态发送端口可以选取并发送它。
如果在异步模式下,除了异步返回的完整 MDN 之外,还生成一个空的 MDN。 设置消息的以下上下文属性:
IsAS2PayloadMessage == FalseIsEmptyMDNResponse == True
如果处于异步模式,则通过接收端口和发送方之间的 HTTP 连接将 HTTP 响应返回到原始发送方,这会关闭该连接。 这是必要的,因为完整的 MDN 并不会关闭同步连接。
生成确认消息(如果已启用)并将其放入 MessageBox。 将
BTS.MessageType的上下文属性设置为确认控件架构。