AS2 系统处理中存在的已知问题

本部分包含描述 BizTalk Server AS2 解决方案的已知问题的主题。

64 位计算机上不支持 AS2 处理

64 位计算机上不支持 BizTalk Server AS2 解决方案。 AS2 处理仅适用于 32 位计算机或在 64 位计算机上的 WOW64 模拟器下运行时。

AS2 接收管道要求 BizTalk 独立主机实例进程所运行的账户必须属于 BizTalk 应用程序用户组的一员。

如果使用 AS2EdiReceive 或 AS2Receive 管道,则必须将运行 BizTalk 独立主机实例进程的用户帐户添加到 BizTalk 应用程序用户组。 AS2EdiReceive 和 AS2Receive 管道在 BizTalk 隔离主机实例进程中执行。

空收据 -Delivery-Option 标头将导致 MDN 同步发送

如果 AS2Receive 管道收到包含空回执传递选项标头的消息,并且请求异步 MDN,则管道将忽略异步 MDN 请求。 它将改为发送回同步 MDN,并在事件日志和 AS2 状态报告(如果已启用)中发布错误。 如果未选择“重写入站消息属性”属性,则会出现这种情况。 如果选择了该属性,它将用“参与方”中的“收据-Delivery-Option”属性的值替代邮件中的“回执-Delivery-Option”标头作为 AS2 属性对话框的 AS2 邮件发件人页。

在此实例中,由于收据传递选项标头为空,因此 AS2Receive 管道没有通过异步连接将 MDN 响应发送到的地址。 但是,管道仍然有一个打开的同步连接,因此它将通过该连接返回 MDN。 如果是单向接收端口,BizTalk Server 将在发送 HTTP 200OK 消息后关闭连接。

使用展开和折叠的 HTTP 行标头

为最大限度地实现互操作性,您应采用展开的 HTTP 行标头用于 AS2 消息。 信息服务 (IIS) 7.0 仅支持展开的 HTTP 标头。 IIS 6.0 支持折叠和展开的标头。 但是,并非所有系统都可以支持每行包含 80 个字符以上的标头,因此,对于此类系统,应使用折叠行。

BizTalk Server 中 AS2 的默认设置是展开的 HTTP 行标头。

参与方解析可能会受到本地化名称的影响

当 BizTalk Server 对出站 AS2 消息执行参与方解析时,该解析可能会受到消息标头中本地化值的影响。 如果在“AS2 属性”对话框中的“作为 AS2 消息接收方”页面中,将 AS2-To party 属性默认设置为英语方名称,而 AS2 消息的 AS2-To 标头中的值设置为非英语名称,则找不到匹配项。

AS2 消息大小限制

加密的 AS2 消息应小于 96 MB 才能进行处理。 AS2 解码器施加此限制,这是 AS2Receive 和 AS2EdiReceive 管道的一部分。

解决此大小限制的一种方法是使用压缩,因为在加密之前压缩了 AS2 消息。

不得修改 BizTalk EDI 应用程序

不得修改或删除 BizTalk EDI 应用程序中的项目。 如果修改了此应用程序,则无法通过取消配置和重新配置 EDI 和 AS2 功能还原到原始应用程序。

合作伙伴可能会拒绝多段或分段消息

症状

使用 AS2 发送管道发送多部分消息时,合作伙伴可能会由于缺少内容类型 MIME 标头而拒绝该消息。

可能的原因

Content-Type 是一个可选的标头,可以在多部分消息的每个正文部分出现。 某些合作伙伴要求每个正文部件都存在此标头,并设置为特定内容类型。

注释

邮件正文将具有 AS2 发送管道设置的 Content-Type 属性,但任何附件都不会设置 Content-Type 属性。

解决方案

如果你的合作伙伴需要每个正文部件的 Content-Type 标头值,则必须创建自定义管道组件来设置此属性并使用发送管道中的组件。

接收多部分消息时,第一部分被视为正文

症状

收到多部分 AS2 消息时,BizTalk Server 可能会错误地将其中一个附件标识为消息正文。

可能的原因

多部分/相关消息的 MIME 标头可能包含可选的“start”参数,该参数通过指定部件的内容 ID 来指示应将哪些部分视为消息正文。 如果 start 参数不存在,则应将第一部分视为消息正文。 如果存在 start 参数,BizTalk Server 不会使用它,并且始终将第一部分视为消息正文。

解决方案

如果合作伙伴无法将正文作为多部分/相关消息的第一部分发送,则必须创建一个正确标识消息正文的管道组件。

另请参阅

EDI 和 AS2 解决方案疑难解答
AS2 解决方案体系结构
开发和配置 BizTalk Server AS2 解决方案