gpt4 book ai didi

java - 使用 RestAssured 根据 xsd 列表验证 xml 响应/字符串

转载 作者:太空宇宙 更新时间:2023-11-04 11:17:06 26 4
gpt4 key购买 nike

我正在尝试使用其中引用的 XSD 列表来验证从 RestAssured 检索到的 XML 响应。

我试过了

 given().param(...).when().get(URL).then().assertThat().body(matchesXsd(xsd))

如果我有一个包含所有架构定义的 XSD 文件,则此方法有效,但如何才能拥有多个 XSD?这些 XSD 也在其内部被引用。此外,所有 XSD 都是项目本地的。

我试过Rest-Assured XSD References Other XSDsValidate an XML File Against Multiple Schema Definitions还有一些,但它们要么与我的目标无关,要么对我不起作用。

最佳答案

我解决了这个问题:

given().param(...).when().get(URL).then().assertThat().body(matchesXsd(getSystemResourceAsStream("parent.xsd")).using(new ClasspathResourceResolver()));

ClasspathResourceResolver 解析来自父 XSD 的所有引用。

`

public class ClasspathResourceResolver implements LSResourceResolver {

@Override
public LSInput resolveResource(String type, String namespaceURI, String publicId, String systemId, String baseURI) {
InputStream resource = getSystemResourceAsStream(systemId);
return new DOMInputImpl(publicId, systemId, baseURI, resource, null);
}
}

`

关于java - 使用 RestAssured 根据 xsd 列表验证 xml 响应/字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45341502/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com