XML 工具与 EDI 解决方案一起使用时的已知问题

本主题介绍 BizTalk Server 中 XML 工具的已知问题。

当验证属性设置为“False”时仍对测试映射输入和输出文件进行验证

如果测试的映射的 TestMap Input 属性设置为 Native ,并且 Validate TestMap Input 和 Validate TestMap Output 属性设置为 False,则仍会执行验证。 这是因为本机格式输入文件将被转换为 XML 格式,并且 BizTalk Server 将根据架构验证 XML。 如果输入文件中存在验证问题,即使“验证 TestMap 输入”和“验证 TestMap 输出”属性设置为 False,此验证机制也会发布错误。

不对生成的实例中从架构的枚举列表中提取的数据元素执行长度验证。

当从某一架构生成一个实例,且该架构中的数据元素的枚举值不符合长度要求时,则生成的实例中可能会存在因不满足长度要求而导致 XSD 验证失败的数据元素。 架构验证将不检查生成的实例中从架构的枚举列表中提取的值是否符合最小/最大长度要求。

验证架构可能检测不到无效的事务集 ID 代码

在 Visual Studio 的解决方案资源管理器窗口中使用“验证架构”命令验证架构时,根节点检查可能不会在根引用节点 (的最后一部分检测到X12_<VersionRelease>_TSID) 格式的无效事务集 ID 代码。 如果架构的根引用节点中的 TSID 是无效的,但与架构中 ST01 元素的枚举节点中的 TSID 相同,则验证架构操作将检测不出该 TSID 是无效的。

必须重新启动 Visual Studio 才能使架构中的枚举更改对实例验证生效

如果您更改了架构中的枚举列表,保存该架构然后运行实例验证,BizTalk Server 将基于架构的上一版本而不是最新版本执行验证。 BizTalk Server 在您重新启动 Visual Studio 后才会使用架构的最新版本。

测试映射操作中显示不需要的“EDI 实例属性”对话框

BizTalk Server会在 TestMap 过程中显示两次 EDI 实例属性对话框:一次,以便输入解释输入消息实例所需的分隔符,一次用于输入生成输出消息实例的分隔符。 BizTalk Server 应仅对 EDI 架构显示两次“EDI 实例属性”对话框,BizTalk Server 可能多次显示该对话框,并且可能针对非 EDI 架构显示该对话框。 如果出现此情况,请关闭该对话框。

不支持验证 XML 保留交换

验证保留的交换时,如果为 “验证实例输入类型 ”属性选择“XML”,则操作将失败,且不会返回任何内容。 但是,如果在验证保留的交换时为“验证实例输入类型”选择“本机”,则操作将成功。

为 HIPAA 278 架构生成的实例将同时包含请求和响应部分

HIPAA 278 架构既用于 278 请求消息又用于 278 响应消息。 如果您在 278 架构上使用“生成实例”命令,则生成的实例将同时包含请求和响应部分,此实例将始终不会发送。 若要创建可使用的 278 请求或 278 响应消息,请在文本编辑器中打开 XML 工具生成的实例,然后删除其中一个部分,例如,删除请求消息的响应部分。

如果您在某一同时具有请求和响应部分的 278 消息上运行“验证实例”命令,则根据 278 架构验证该消息时将成功。

验证从 278 HIPAA 架构生成的 XML 实例失败

如果您使用“实例生成”命令从 278 HIPAA 架构生成 XML 实例,然后使用“实例验证”命令来验证该实例,则 BizTalk Server 将报告错误。

从 837 架构生成的本地实例会错误地设置 GS08

使用包含X12_BatchSchema以及 837I、837D 或 837P 架构的BizTalk Server解决方案生成本机实例时,GS08 的值将包含 00401。 在处理此实例之前,必须将 GS08 的值更改为架构实例的正确值。 下表包含每个 837 架构正确 GS08 值:

HIPAA 架构 GS08 值
837I 004010X096A1
837D 004010X097A1
837P 004010X098A1

另请参阅

EDI 处理的已知问题
使用 XML 工具扩展
使用设计时 XML 工具