你的反應是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