让soapUI在附件选项卡中显示附件以获取响应

时间:2012-08-29 19:57:38

标签: http soapui

我有一个REST服务,它通过HTTP GET返回一个文件。

我在响应中(在服务器上)设置了这些标头,并且下载在任何浏览器中都能正常运行:
Content-Length
Content-Type
Content-Disposition


但是,在soapUI中它只是将二进制输出打印到响应窗口 - 我想把文件放到底部的“附件”选项卡中。

我尝试过多部分/混合无济于事。

任何人都知道我应该如何使服务器形成响应,以便soapUI将文件放在“附件”选项卡中?

谢谢!

1 个答案:

答案 0 :(得分:0)

我不知道如何将文件放在“附件”选项卡中,但我知道您可以通过groovy转换文件中的二进制输出。

您可以尝试使用此脚本,只需填写三个变量扩展名name,textBase64。

import org.apache.commons.codec.binary.Base64
def extension = (##extension of your file##)
def name = (##name of your file ##) 
def textBase64 =(##binary output from your request##) 


// Access element Base64-encoded text content 
String tempFilename = "${name}.${extension}"
def b64 = new Base64()
def TextBytes = b64.decode(textBase64.getBytes())

// Output text into a temporary file
def File = new java.io.File(tempFilename)
FileOutputStream fos = new java.io.FileOutputStream(File)
fos.write( TextBytes )
fos.flush()
fos.close()
log.info "File stored as: ${File.getCanonicalPath()}"

可能存在更好的脚本,但这个对我很有用