karate - 空手道 - 有没有办法在 XML 请求中保留(或添加)DTD
问题描述
在阅读我的 XML 时,空手道似乎正在丢弃它的 DTD 部分。我的请求绝对必须包含 DTD。有没有办法让我添加它而不被丢弃?
我尝试过“设置”,但显然它也被丢弃了。
我曾尝试使用“文本”,但我在 XML 文件中的引用值也没有被解析,所以这不能达到目的。
* def req = call read(myXML.xml)
myXML.xml 看起来像这样
<!DOCTYPE mytype SYSTEM "RandomDTD.dtd">
<mytype>
</mytype>
当我打印 req 我看到的是
<mytype>
</mytype>
解决方案
在发送 XML 之前使用文本和字符串替换。有很多方法,看这个答案:https ://stackoverflow.com/a/57042773/143475
编辑:一个提示是,如果您想使用字符串发出请求,但将内容类型设置为 XML,您可以这样做:
* xmlstring temp = <my>xml</my>
* temp.replace('<my>', '<!DOCTYPE blah><my>')
* header Content-Type = 'application/soap+xml'
* request temp
* method post
推荐阅读
- hibernate - 非主键之间的休眠关系OneToMany
- google-cloud-platform - 我可以将 Dataflow 作业配置为单线程吗?
- google-chrome - 如何使 Chrome 警告弹出“您的密码可能被泄露”消失
- c# - 使用 ASP.NET C# 在 SQL Server 中存储和查看图像
- android - 将数据从 ACTIVITY 传递到 FRAGMENT 不适合我
- react-native - ReactNavigation headerRight 按钮不起作用
- python - 使用 Matplotlib 在图中打印 .txt 文件
- mysql - 监控 MySQL 数据库并通知更新
- selenium - 在 Python Selenium (v3.141.0) 中使用正则表达式定位更改的 xpath
- machine-learning - 标准协同过滤与混合光 FM