Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
jmeter中xml响应中第1行和第1列的非法字符_Jmeter - Fatal编程技术网

jmeter中xml响应中第1行和第1列的非法字符

jmeter中xml响应中第1行和第1列的非法字符,jmeter,Jmeter,我试图使用JMETER验证RESTAPI的xml响应。我使用XMLSchema断言来验证使用xsd的响应 我在XML模式断言上遇到以下错误 Assertion error: true Assertion failure: false Assertion failure message: fatal: line=1 col=1 Content is not allowed in prolog. 当我看到收到的响应时,我看到在响应xml的开头添加了一些非法字符 我试图修改jmeter.prope

我试图使用JMETER验证RESTAPI的xml响应。我使用XMLSchema断言来验证使用xsd的响应

我在XML模式断言上遇到以下错误

Assertion error: true
Assertion failure: false
Assertion failure message: fatal: line=1 col=1 Content is not allowed in prolog.
当我看到收到的响应时,我看到在响应xml的开头添加了一些非法字符

我试图修改jmeter.properties文件并更改了以下值

jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
请帮助我了解如何删除响应中的非法字符,并允许xsd验证通过。

这些字符表明,因此您可以从中使用,以便从响应中删除它们,并用“净化”XML替换响应数据

  • 将JSR223后处理器添加为要删除此BOM表的采样器的子级
  • 将以下代码放入“脚本”区域:

  • 就这样,你的主张不应该再失败了 有关JMeter中Groovy脚本的更多信息:

    def is = new ByteArrayInputStream(prev.getResponseData())
    def bOMInputStream = new org.apache.commons.io.input.BOMInputStream(is)
    def bom = bOMInputStream.getBOM()
    def charsetName = bom == null ? 'UTF-8' : bom.getCharsetName()
    def reader = new InputStreamReader(new BufferedInputStream(bOMInputStream), charsetName)
    prev.setResponseData(org.apache.commons.io.IOUtils.toByteArray(reader, 'UTF-8'))