来自soapui的回复内容很清楚how to save。但在我的情况下,响应内容使用gzip格式保存,因此文件内容应该是" ungzipped"阅读是否可以在保存期间解压缩soapui中的响应?
答案 0 :(得分:1)
我认为不可能直接使用SOAPUI
选项。但是你可以用一个groovy脚本来做。
在groovy testStep
请求后添加testStep
,将您的回复保存到Dump File
。在此groovy testStep
中添加以下代码,该代码解压缩您的响应并将结果保存在Dump File
的相同路径中,您只需按顺序指定Dump File
名称和目录{ {1}}脚本可以解压缩它:
groovy
我再次阅读你的问题,我意识到你想要解压缩没有解压缩,所以也许你可以使用这个groovy代码:
import java.io.ByteArrayInputStream
import java.io.FileOutputStream
import java.io.IOException
import java.util.zip.ZipEntry
import java.util.zip.ZipInputStream
def buffer = new byte[1024]
// create the zip input stream from your dump file
def dumpFilePath = "C:/dumpPath/"
FileInputStream fis = new FileInputStream(dumpFilePath + "dumpFile.zip")
def zis = new ZipInputStream(fis)
def zip = null
// get each entry on the zip file
while ((zip = zis.getNextEntry()) != null) {
// decompile each entry
log.info("Unzip entry here: " + dumpFilePath + zip.getName())
// create the file output stream to write the unziped content
def fos = new FileOutputStream(dumpFilePath + zip.getName())
// read the data and write it in the output stream
int len;
while ((len = zis.read(buffer)) > 0) {
fos.write(buffer, 0, len)
}
// close the output stream
fos.close();
// close entry
zis.closeEntry()
}
// close the zip input stream
zis.close()
希望这有帮助,