症状
当您使用 Microsoft BizTalk 服务器 2010年加速器的 HL7 (BTAHL7),确认 (ACK) 生成格式不正确。
例如,以下面的格式生成一个 ACK:
错误 | |OBX_ObservationResult ^9 ^23 |HL7nnnn ^ 数据类型错误 ^102 |E||||||||^^^^^^^^^^^
但是,一个 ACK 的正确格式如下所示︰
错误 | |OBX ^9 ^23 | 102 ^ 数据类型错误 ^ HL70369 |E||||||||^^^^^^^^^^^
备注:
-
"OBX_ObservationResult"不是 HL7 标识符 XML 节点名称。
-
"HL7nnnn"实际上应该是"HL70369"的代码。
-
在 ERR 段中字段的顺序不正确。"HL7nnnn ^ 数据类型错误 ^102"应为"102 ^ 数据类型错误 ^ HL70369"。
原因
因产品缺陷而出现问题。
解决方案
此修补程序解决该问题的以下三个方面︰
-
确认有 HL7 标识符而不是 XML 节点名称。例如,确认具有"OBX"而不是"OBX_ObservationResult"。
-
通过以下准则生成 ERR 段的错误信息︰
-
如果找不到表的值,则返回"HL7nnnn"。
注意"nnnn"是检查 HL7 表数。 -
对于非表验证错误,改为"HL7nnnn""HL79999"。
注"HL79999"是 BizTalk Server 属于特殊错误的非表值错误。
-
-
在 ERR 段中字段的顺序不正确。例如,"HL7nnnn ^ 数据类型错误 ^102"更改为"102 ^ 数据类型错误 ^ HL7nnnn"。
修补程序信息
可以从 Microsoft 获得受支持的修复程序。然而,此修补程序仅用于解决本文中描述的问题。仅对出现这一特定问题的系统应用此修补程序。
如果此修复程序可供下载,则在此知识库文章的顶部会出现“修补程序下载可用”部分。如果未显示此部分,将申请提交到 Microsoft 客户服务和支持,以获取此修复程序。
注意:如果出现其他问题或需要任何故障诊断时,您可能需要创建单独的服务请求。对于不符合此特定的修补程序的其他支持问题和事项将照常收取费用。有关 Microsoft 客户服务和支持电话号码或创建单独的服务请求的完整列表,请访问下面的 Microsoft 网站︰
http://support.microsoft.com/contactus/?ws=support注意:"提供修补程序下载"窗体显示获取此修复程序的语言。如果看不到您的语言,则修补程序没有那种语言的版本。
系统必备组件
您必须具有要应用此修补程序的安装的 BTAHL7。此外,您必须应用以下 Microsoft 知识库 (KB) 文章中介绍的修补程序︰
2564013解决︰ 修补程序是可用最少的低层协议的其他传递模式属性发送和接收适配器的 BizTalk 加速器 HL7 的 BizTalk Server 2010 环境中提供
2607536解决︰ 修补程序添加对 HL7 v2.5.1 消息处理的支持和对 HL7 在 BizTalk 服务器 2010年加速解决几个问题
重启要求
应用此修补程序后,您可能需要重新启动计算机。如果您未提示您重新启动计算机,您必须重新启动 BizTalk 主机实例服务。
安装说明
重要:此部分、 方法或任务包含一些介绍如何修改注册表的步骤。但是,如果不正确地修改了注册表,可能会出现严重的问题。因此,请确保仔细按照下列步骤操作。为增加保护,对其进行修改之前备份注册表。然后,您可以在出现问题时还原注册表。有关如何备份和还原注册表的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
322756如何备份和还原在 Windows 注册表如果需要当前修补程序 BTAHL7 将生成一个 ACK,根据修改后的架构,您必须按照以下步骤除了安装修补程序。如果不需要此修补程序,例如 BTAHL7 生成的 ACK,它不具有类似症状的"症状"一节中介绍的方法,您不需要执行这些步骤。
注意:下面的过程要求设置一个新的注册表项的已修改的架构,重建 BTAHL7V2XCommon 项目,然后重新部署项目。如果在任何其他项目中引用这些架构,它还需要重建和重新部署这些项目。
-
停止的 BizTalk Server 主机实例。
-
新修改的架构与重新部署 BTAHL7V2XCommon 项目。若要执行此操作,请执行以下操作︰
-
重命名为 HL7\Templates\Schemas\V2 的 ACK_24_GLO_DEF_949029 \%\Microsoft BizTalk 2010 加速器中。作为 ACK_24_GLO_DEF X\2.4
-
重命名为 HL7\Templates\Schemas\V2 的 ACK_25_GLO_DEF_949029 \%\Microsoft BizTalk 2010 加速器中。作为 ACK_25_GLO_DEF X\2.5
备注:
-
如果已经部署了 BTAHL7V2XCommon 项目,取消部署该项目,然后生成和重新部署项目。
-
如果这些架构在任何其它项目引用,过程还需要重建和重新部署这些修改架构的那些项目。
-
-
创建下面的注册表子项中的名称"UseModifiedAck"的类型均为 DWORD注册表项︰
-
对于 32 位操作系统的 (x86):
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\BizTalk HL7\Version 2010 的加速器 -
对于 64 位操作系统的 (x64):
HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\BizTalk HL7\Version 2010 的加速器
-
-
如果需要此修补程序并完成步骤 2 后,请将新创建的注册表项值设置为1。如果注册表项不可用或值设置为1以外的值,BTAHL7 将生成不具有类似于是什么 (以确保不会干扰现有的客户解决方案执行此步骤)"症状"一节中描述的症状的 ACK。因此,在用例修改的架构不部署 (未完成步骤 2),将该注册表项值设置为不为1的另一个值。如果已修改的架构部署 (完成步骤 2),请确保将该注册表项设置为1。
-
重新启动 BizTalk Server 主机实例。
文件信息
此修复程序的英文版具有的文件属性 (或更新的文件属性)在下表中列出。日期和为这些文件的时间以协调世界时 (UTC) 列出。当您查看文件信息时,它将转换为本地时间。要了解 UTC 与本地时间之间的时差,请使用控制面板中的日期和时间项中的时区选项卡。
文件名称 |
文件版本 |
文件大小 |
日期 |
时间 |
平台 |
---|---|---|---|---|---|
Microsoft.solutions.btahl7.pipelinecommon.dll |
3.9.559.2 |
90,528 |
13-Jul-2012 |
17:41 |
x86 |
Microsoft.solutions.btahl7.pipelinemessagecore.dll |
3.9.559.2 |
86,448 |
13-Jul-2012 |
17:41 |
x86 |
状态
Microsoft 已经确认这是“适用于”一节中列出的 Microsoft 产品中的问题。
详细信息
BizTalk Server 热修复补丁程序有关的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章︰
2003907 BizTalk 修补程序和服务包的支持信息