其他问题疑难解答
解决与 Microsoft BizTalk Accelerator for HL7 (BTAHL7) 相关的其他问题。
BTAHL7 引擎拒绝的消息
症状
消息引擎随机拒绝消息。
可能的原因 :根据 HL7 标准,表 0338 的枚举值包含“L&I”值。 PRA 段的字段 6 可能包含此值。 由于 BTAHL7 将“&”字符视为分隔符,因此消息被拒绝。
解决方法 :此问题有三种可能的解决方案:
在消息实例中,通过转义序列处理“&”字符,例如使用字符组合 L\T\I。
在架构的 PRA 6 中添加枚举值“LI”,并在消息实例中改用此值。
在 MSH2 中使用完全不同的子组件分隔符;但是,此特定解决方案可能不实用,具体取决于你的环境。
无法使用 Visual Studio 编辑 HL7 架构
症状
无法使用 Microsoft Visual Studio 编辑 HL7 架构。
可能的原因 :Visual Studio 不支持某些 HL7 架构。
解决方法 :使用其他编辑器(如 Microsoft 记事本)编辑 HL7 架构。
消息处理失败,未记录任何错误
症状
系统在不记录错误消息或将消息放入挂起的消息队列的情况下处理消息。
可能的原因 : HeaderSpecType 和 DocumentSpecType 属性值区分大小写。 部署管道时,这些名称中的版式错误可能会导致消息处理不当并被删除,且未记录任何错误。
解决方法 :使用 HeaderSpecType 和 DocumentSpecType 属性值名称时,观察区分大小 写 。
消息标头字段未正确验证
症状
标头字段验证失败。
原因:BTAHL7 序列化程序验证了提升的属性,而不是实际的标头字段上下文属性。
可能的原因 :通过业务流程或映射对与标头对应的已升级属性发生更改。
解决方法 :需要更新消息头 MSH1、MSH2 和 MSH5{1-3} 的上下文属性,以便它们与数据同步。
卸载期间不会删除 MLLP 适配器
症状
BTAHL7 安装程序在卸载 BTAHL7 期间未删除 MLLP 适配器。
可能的原因 :接收位置或发送端口的传输类型为 MLLP。 如果在任何BizTalk Server项目中引用了 MLLP 适配器,则 BTAHL7 安装程序无法删除它。
解决方法 :卸载 BTAHL7 完成后,请执行以下操作:
在BizTalk Server管理控制台中,删除传输类型为 MLLP 的所有接收位置和发送端口,或者更改接收位置的传输类型或将发送端口更改为其他类型。
在管理控制台中,删除 MLLP 适配器。
重启主机实例。
如果已卸载BizTalk Server,则无法卸载 BTAHL7
症状
卸载 BTAHL7 会导致以下错误:
A network error while attempting to read from file C:\Windows\Installer\Microsoft BizTalk <version\> Accelerator for HL7.msi
可能的原因:BizTalk Server在尝试卸载 BTAHL7 之前卸载。 必须先卸载 BTAHL7,然后才能卸载BizTalk Server。
解决方法:重新安装BizTalk Server,然后卸载 BTAHL7,然后卸载BizTalk Server。
在停止适用的 MLLP 发送端口后,仍会发送消息
症状
停止 MLLP 发送端口后,通过该发送端口发送的消息不会停止,而是继续发送。
可能的原因 :停止发送端口时,连接将保持建立状态,直到通过停止 BizTalk 主机将其删除。 因此,消息在发送端口停止后仍会发送。 发生这种情况的原因是 Biztalk Server 在启动或停止发送端口期间不会调用 MLLP 适配器。 BizTalk Server仅在启动和停止主机服务期间调用 MLLP 适配器。
解决方法 :可以通过停止已停止的发送端口的发送处理程序的主机实例来删除连接并停止消息的传输。 但是,停止该主机实例可能会影响不希望停止的其他消息。 如果知道是这种情况,则应在创建发送端口时以不同的方式配置发送端口。 应创建另一个主机实例,仅充当此 MLLP 发送端口的发送处理程序 (或) 的一部分发送端口。 然后,可以通过停止此主机实例来停止从此发送端口传输消息。 这不会影响在使用其他发送处理程序的其他发送端口上传输其他消息。