【问题标题】:SAXParseException when using restassured使用放心时的 SAXParseException
【发布时间】:2019-04-26 10:49:37
【问题描述】:

我正在尝试以这样的方式放心地验证 XML 响应:

.then().body("some.xml.path", is("abc"));

但是,我得到的是 SAXParseException:

当功能“http://apache.org/xml/features/disallow-doctype-decl”设置为 true 时,不允许使用 DOCTYPE。]

响应开始如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE cXML SYSTEM "http://xml.cXML.org/schemas/cXML/1.2.021/cXML.dtd">
<cXML ...

为什么我会收到此异常?我应该改变什么?

我使用的是3.2.0版本的放心。

【问题讨论】:

    标签: rest-assured saxparser


    【解决方案1】:

    here 已经回答了类似的问题。简而言之,答案描述了使用 disableLoadingOfExternalDtd() 让 RestAssured 忽略 XML 中的文档类型定义。

    通常,DTD 会描述(使用外部定义)定义为cXML 的元素的结构布局。

    【讨论】:

    • 谢谢!但是,我想知道为什么会发生此错误。我的 XML 有问题吗?还是只是个放心的bug?
    • 我还必须添加 allowDocTypeDeclaration(true) 才能使其工作。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-15
    • 2015-01-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多