修复: 当您尝试在 BizTalk Server 发送签名传出 AS2/EDI 消息的错误消息:"签名证书尚未配置为 AS2 方"

适用于: BizTalk Server 2009 BranchBizTalk Server 2009 DeveloperBizTalk Server 2009 Enterprise

症状


请考虑以下情况:
  • 在计算机上运行的 BizTalk Server 2006年,BizTalk Server 2006 R2,还是 2009 BizTalk Server,您创建的 BizTalk server 主机实例。
  • 重命名的 BizTalk 组。
  • 配置 BizTalk 应用程序传出 AS2/EDI 消息进行签名。
在此方案中,BizTalk Server 挂起传出的消息。 此外,应用程序日志中记录类似于以下内容的事件:
事件 1:
事件类型: 错误事件源: BizTalk Server 2006 EDI 事件类别: 无事件 ID: 8132 说明: 当您尝试对邮件进行编码时遇到 BTS MIME 错误。 错误: 没有为 AS2 方配置签名证书。 AS2-From: <AS2-From party> AS2-To: <AS2-To party>
事件 2:
事件类型: 错误事件源: BizTalk Server 2006年事件类别: BizTalk Server 2006年事件 ID: 5720 说明: 执行发送管道发生了错误:"Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send、 Microsoft.BizTalk.Edi.EdiIntPipelines,版本 = 3.0.1.0,区域性程序 = 31bf3856ad364e35"源:"AS2 编码器"发送端口:"< 发送端口 >"URI:"< URI >"原因: 尚未配置 AS2 当事方的签名证书。 AS2-From: <AS2-From party> AS2-To: <AS2-To party>
事件 3:
事件类型: 错误事件源: BizTalk Server 2006年事件类别: BizTalk Server 2006年事件 ID: 5754 说明: 使用 URI"< URI >"发送端口"< 发送端口 >"发送到适配器"HTTP"的消息被挂起。 错误详细信息: 执行发送管道发生了错误:"Microsoft.BizTalk.EdiInt.DefaultPipelines.AS2Send,Microsoft.BizTalk.Edi.EdiIntPipelines,版本 = 3.0.1.0,区域性程序 = 31bf3856ad364e35"源:"AS2 编码器"发送端口:"< 发送端口 >"URI:"< uri >"原因: 尚未配置 AS2 当事方的签名证书。 AS2-从: SandvikAS2 AS2-到: 5565782504AS2 邮件 Id: {< 消息 ID >} 实例 Id: {0} < 实例 ID >}
注意 默认情况下,传出 AS2 消息是通过使用 BizTalk 组属性的一部分定义的默认组签名证书签名的。 配置 AS2 当事方使用特定的证书来签署传出消息时未出现问题。

原因


因为该 BizTalk 主机实例的启动参数包含 BizTalk 组名称,将出现问题。 如果您重命名的 BizTalk 组后创建的 BizTalk 主机实例,没有用新的 BizTalk 组名称在启动参数中更新旧的 BizTalk 组名称。 这使得 BizTalk 服务器无法在 BizTalk 主机实例在运行时查找组签名证书。

解决方案


修补程序信息

注意修补程序可以解决此 BizTalk Server 2006 R2 中的问题。 如果您使用 BizTalk Server 2006 年或 2009 BizTalk Server,请参阅"替代方法"部分。 可以从 Microsoft 获得受支持的修复程序。 然而,此修补程序仅用于解决本文中描述的问题。 此修复程序仅适用于遇到本文中描述的问题的系统。 此修补程序可能会接受进一步的测试。 因此,如果这个问题没有对您造成严重的影响,我们建议您等待包含此修复程序的下一个软件更新。如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。 如果未显示此部分,请与 Microsoft 客户服务和支持部门联系以获取此修复程序。 注意 如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。 对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。 有关 Microsoft 客户服务和支持电话号码的完整列表,或要创建单独的服务请求,请访问下面的 Microsoft 网站: 注意 "提供修补程序下载"窗体显示获取此修复程序的语言。 如果看不到您的语言,则修补程序没有那种语言的版本。

先决条件

您必须具有 BizTalk Server 2006 R2 Service Pack 1 (SP1) 要应用此修补程序的安装。 若要获取 BizTalk Server 2006 R2 SP1,请访问下面的 Microsoft 下载中心网站:此外,以下组件在此修补程序有一些相应的修补程序。 若要应用相应的修补程序,必须安装该组件。
  • 对于企业应用程序 (也称为 BizTalk LOB 适配器) Microsoft BizTalk 适配器
  • HL7 的 Microsoft BizTalk 加速器 2.0
  • Microsoft BizTalk FileAct 和交互适配器的 SWIFT 2.3 SP1
如果此修补程序中包含的 Readme.txt 文件,请参阅有关如何安装此修复程序的更多信息的 Readme.txt 文件。

重启要求

您可能需要在应用此修补程序后,重新启动计算机。

文件信息

此修复程序的英语 (美国) 版本使用 Microsoft Windows Installer 软件包来安装此修复程序。 这些文件的日期和时间按协调世界时 (UTC) 在下表中列出。 当您查看文件信息时,该日期将转换为本地时间。 若要了解 UTC 与本地时间之间的时差,请使用控制面板中“日期和时间”项中的“时区”选项卡。
文件名文件版本文件大小日期时间平台
Admin_server_logic.sqlNot applicable72,80007-Jul-201116:18Not applicable
Bts_administration_logic.sql.enNot applicable468,35007-Jul-201116:18Not applicable
Bts_deployment_logic.sqlNot applicable97,48207-Jul-201116:18Not applicable
Microsoft.xlangs.basetypes.dll3.6.2224.12104,31207-Jul-201116:18x86

解决方法


若要变通解决此问题,请执行以下步骤:
  1. 新组的名称与更新 BizTalkGroupName 注册表的以下位置:
    HKEY_LOCAL_MACHINE\Software\Microsoft\BizTalk Server\3.0\AdministrationHKEY_LOCAL_MACHINE\Software\Wow6432Node\Microsoft\BizTalk Server\3.0\Administration
  2. 使用以下两种方法之一:
    • 在下面的注册表项手动更新-组ImagePath值以包含新组的名称中的启动参数:
      HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc $ < BizTalk 主机名称 >
      例如,更新的ImagePath值,如下所示:
      "C:\Program 该 BizTalk Server 2006\BTSNTSvc.exe"的"新的 BizTalk 组名称"分组-命名"BizTalk 主机名称"btsapp"{guid}"
    • 删除 BizTalk 主机实例,然后重新创建它之后重命名的 BizTalk 组。

状态


Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

更多信息


有关如何使用 AS2 配置为使用证书的详细信息,请访问下面的 MSDN 网页:BizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2003907 BizTalk Server 修补程序的信息