如下图是一个最基本的Validate的使用情形,即比较一个指定报文格式和一个静态schema结构。
这里要理解的是validate组件验证时的范围。如上所示,当指定了xsd文件中元素后,验证时是从该元素的内部验证的,不包括该元素本身,具体为下图所示:
所以对应于body变量,外面有就需要进入里面两层,去掉body根元素和CreateDealerMaster元素(注:/*[1]是指取该元素内子元素中的第一个子元素)
按上图设置,是可以正常验证的。
验证机制挨个进行对比,如果直接缺少第一个元素的话,后面的就会错位比较,可能会报很多的错误。