症状
请考虑以下情况:
-
您可以在 Microsoft BizTalk Server 2006 R2 或 Microsoft BizTalk Server 2009 年使用 MIME/SMIME 编码器管道组件发送管道。 您将 MIME/SMIME 编码器管道组件的签名类型设置为ClearSign。
-
创建使用 BizTalk 业务流程运行的发送管道传出消息进行签名。 例如,使用表达式来调用业务流程中的消息赋值形状的发送管道。 有关详细信息,请参阅"更多信息"部分。
-
安装 Microsoft BizTalk Server 2006 R2 Service Pack 1 (SP1)。 或者,您在升级到 Microsoft BizTalk Server 2010。
-
运行 BizTalk 业务流程。
在这种情况下,未签名传出的消息。 此外,应用程序日志中记录类似于以下内容的错误消息:
执行发送管道发生了错误:"< 管线名称 >"源:"MIME/SMIME 编码器"发送端口:"< 发送端口名称 >"URI 名称"原因: 无法对出站消息的签名,因为编码器中找不到签名在"当前用户 \ 个人"证书存储区中的证书。
原因
发生此问题是因为 BizTalk Server 尝试在错误的位置中查找证书。 注意 BizTalk Server 2006 R2 SP1 和 BizTalk Server 2010 中引入新功能,您可以使用多个证书进行签名。
解决方案
累积更新程序包信息
有关如何获取此累积更新程序包,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2573000 累积更新包 2 为 BizTalk Server 2010 注意:如果您遇到此 BizTalk Server 2006 R2 SP1 中的问题,可以按照"替代方法"部分中,若要解决此问题的步骤。
状态
Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。
解决方法
若要解决此问题,请执行以下步骤:
-
使用下面的命名空间来部署属性架构:
http://schemas.microsoft.com/BizTalk/2003/system-properties.BTS.OutboundSignatureCertificate
-
设置BTS。OutboundSignatureCertificate之前运行的发送管道业务流程代码中使用的证书指纹值的属性。
更多信息
有关如何配置 MIME/SMIME 编码器管道组件的详细信息,请访问下面的 MSDN 网站:
如何配置 MIME/SMIME 编码器管道组件有关如何使用表达式来运行管道的详细信息,请访问下面的 MSDN 网站:
如何使用表达式来运行管道BizTalk Server 修补程序的更多信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2003907 BizTalk Server 修补程序有关的信息BizTalk Server 服务包和累积更新包相关信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2555976 BizTalk Server 服务包和累积更新列表