Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我可以使用BizTalk中的XML验证程序管道组件验证平面文件吗?_Xml_Biztalk_Pipeline_Flat File_Disassembly - Fatal编程技术网

我可以使用BizTalk中的XML验证程序管道组件验证平面文件吗?

我可以使用BizTalk中的XML验证程序管道组件验证平面文件吗?,xml,biztalk,pipeline,flat-file,disassembly,Xml,Biztalk,Pipeline,Flat File,Disassembly,这与其说是一个实际问题,不如说是一个学术问题,但我正试图对BizTalk有更深入的了解 在这个场景中,我得到一个带有头行的平面文件,然后重复输入。大家一致认为,为了使这项工作正常进行,我应该有单独的头部和身体模式,并将它们作为我正在构建的管道组件的反汇编部分的一部分 现在,在FF反汇编程序上,有一个属性“Validate Document Structure”默认为false。似乎说它将验证标题和正文(不一定是问题)。然而,它也暗示我可以在管道中使用XML验证组件来完成同样的事情 我的问题有两个

这与其说是一个实际问题,不如说是一个学术问题,但我正试图对BizTalk有更深入的了解

在这个场景中,我得到一个带有头行的平面文件,然后重复输入。大家一致认为,为了使这项工作正常进行,我应该有单独的头部和身体模式,并将它们作为我正在构建的管道组件的反汇编部分的一部分

现在,在FF反汇编程序上,有一个属性“Validate Document Structure”默认为false。似乎说它将验证标题和正文(不一定是问题)。然而,它也暗示我可以在管道中使用XML验证组件来完成同样的事情

我的问题有两个:首先,在这些平面文件被反汇编后,是否可以对它们使用XML验证器?FF信息是否已在反汇编程序中转换为XML


第二,即使可能,我为什么要使用XML验证器?如果我放弃了标题行,并且不想冒来自不同标题行的验证错误的风险,那么可能是因为?

要回答特定的问题:

  • 是,如果在反汇编阶段有平面文件反汇编程序
  • 你通常不会
  • 不是真的。平面文件反汇编程序非常具体,因此任何格式错误的结构 可能已经导致了一个错误

  • 我不记得在与平面文件反汇编程序相同的管道中使用过XmlValidator。

    我想在这里澄清一些事情。在某些使用场景中,您绝对希望使用XML验证,而不是在反汇编程序中启用验证

    假设您有一个包含6条消息的平面文件。其中5个符合您的身体模式,1个不符合。您希望启用失败的消息路由,但不希望整个事务失败

    如果通过FF反汇编程序以及恢复交换处理启用验证,它将起作用。。。但只是部分!如果消息#4已损坏,则只有消息1、2和3将成功路由。4、5和6将作为一条巨大的失败消息进行路由

    但是,如果在反汇编程序中定义头部/身体模式,禁用验证,禁用RIP,并添加使用身体模式和RIP的XML验证器,则消息1、2、3、5和6将成功路由。只有消息#4将作为失败消息路由

    编辑:您也可以在这里以更易于理解的格式找到这些信息

    再次感谢@boatseller的澄清,这里是一个非常真实的情况,我必须在这个管道中使用XML验证器