你的反应是gzip
格式,看到你的回应Content-Encoding:gzip
HTTP标头。
从理论上说,SOAPUI必须自动为您自动解压缩并以纯文本形式显示响应,但似乎对您的情况无效。我尝试使用一些REST API和响应gzip编码,响应被正确解码。 (我使用的是SOAPUI 5.2.1而不是5.0.0)。
然后一个可能的解决方法可能是将您当前的http标头accept-encoding : gzip
值更改为accept-encoding : identity
,以明确告诉服务器您希望以纯文本格式回复。
如果identity
不适用于此WS工作,试着告诉那gzip
是一个q
价值0
不可接受:Accept-Encoding: gzip;q=0
或:Accept-Encoding: gzip;q=0, identity; q=1.0
如果你评论这不是对你的作品,可能是由于您的WS无视这个标题,你可以尝试ungzip自己使用具有以下解决方法Groovy脚本测试步骤响应:
- 配置
Dump File
财产在你的REST TestRequest属性:
- 创建一个Groovy步步测试的使用后续脚本ungzip以得到它作为纯文本转储响应:
import java.io.ByteArrayInputStream
import java.io.FileOutputStream
import java.io.IOException
import java.util.zip.GZIPInputStream
def buffer = new byte[1024]
// create the zip input stream from your dump file
def dumpFilePath = 'C:/temp/'
FileInputStream fis = new FileInputStream("${dumpFilePath}/dumpRest.json")
// create the instance to ungzip
def gzis = new GZIPInputStream(fis)
// fileOutputStream for the result
def fos = new FileOutputStream("${dumpFilePath}/dumpRestUngizped.json")
// decompress content
gzis.eachByte(1024){ buf, len -> fos.write(buf,0,len)}
// close streams
gzis.close()
fos.close()
谢谢,但不幸的是没有工作,仍然是相同的输出。 编辑: 它实际上完全忽略了这一说法。它仍然在响应头文件中说'Content-Encoding:gzip'。 – tugadesperado
@tugadesperado我更新了我的答案,试图做一个与http头不同的值,希望这一次它更有帮助:) – albciff
我试过了你的两个例子,它给了我仍然完全相同的原始响应... 这些是标题: 'HTTP/1。1 200 OK' '内容 - 类型:应用/ json' '的Content-Length:502' '连接:保持Alive' '消息类型:Application' '内容编码:gzip' – tugadesperado