在soapUI Pro中,我想创建一个断言来验证针对自定义XSD的响应的指定XML节点。我知道存在架构合规性断言,但我想仅验证部分响应和自定义XSD(不是来自WSDL)。
答案 0 :(得分:1)
需要脚本断言来加载部分响应并根据从文件加载的模式验证它:
import com.eviware.soapui.support.XmlHolder
import javax.xml.XMLConstants
import javax.xml.transform.stream.StreamSource
import javax.xml.validation.SchemaFactory
def holder = new XmlHolder( messageExchange.responseContentAsXml )
holder.namespaces["sam"] = "http://www.example.org/sample/"
def node = holder["XPath"]
def factory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI)
def schema = factory.newSchema(new StreamSource(new FileReader("path_to_XSD_file")))
def validator = schema.newValidator()
validator.validate(new StreamSource(new StringReader(node)))
答案 1 :(得分:0)
如果您收到了回复消息,请执行以下操作以仅验证响应的部分内容:
您可以选择完整的节点或特定元素和值。请点击此链接获取更多信息: soapUI: Validating XML Messages