如何保存soapui的压缩响应?

时间:2015-01-16 06:48:04

标签: java http soap gzip soapui

来自soapui的回复内容很清楚how to save。但在我的情况下,响应内容使用gzip格式保存,因此文件内容应该是" ungzipped"阅读是否可以在保存期间解压缩soapui中的响应?

1 个答案:

答案 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()

希望这有帮助,