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

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

当 Validate 属性设置为 false 时,测试映射输入和输出文件的验证仍发生

如果您测试将 TestMap Input 属性设置为 Native,并将 Validate TestMap Input 和 Validate TestMap Output 属性设置为 False,则仍将执行验证。 之所以发生这种情况,是因为本机格式化的输入文件将转换为 XML 格式,BizTalk Server 将针对架构验证 XML。 如果输入文件中存在验证问题,则即使验证 TestMap 输入和验证 TestMap 输出属性设置为 False,此验证机制也会发布错误。

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

当通过模式生成实例时,如果模式中的数据元素的枚举值不符合长度要求,该实例可能会生成一个数据元素,该元素随后由于长度要求而无法通过 XSD 验证。 架构验证不会检查从架构中的枚举列表中拉取的值是否满足最小/最大长度要求。

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

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

必须重启 Visual Studio 才能使架构中的枚举更改生效,以便进行实例验证

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

在执行 TestMap 操作时可能会不必要地显示“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 工具扩展
使用 Design-Time XML 工具