Как сохранить ответ веб-службы (байтовый массив) в виде файла с использованием SOAP UI? - PullRequest
2 голосов
/ 22 марта 2010

Я использую SOAP UI 3.0.1 для тестирования моего веб-сервиса, который возвращает байтовый массив. Я хочу сохранить массив байтов в виде файла слов. Как мне сделать это с помощью Groovy Script или любым другим способом? Ответ веб-службы: 0M8R4KGxGuEAAAAAAAAAAAAAAAAAAAAAPgADAP7 / CQAGAAAAAAA ...............................

1 Ответ

3 голосов
/ 22 марта 2010

Бинго !!

import org.apache.commons.codec.binary.Base64

def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
filename = groovyUtils.projectPath + "\\" +System.currentTimeMillis()+ ".doc"
def objFile = new java.io.File(filename)
def holder = groovyUtils.getXmlHolder('GetDocument#Response');
holder.declareNamespace('ns1','Utlities.Service.Documents');
def byteArray = holder.getNodeValue("//ns1:GetDocumentResponse[1]/ns1:GetDocumentResult" )
def b64 = new Base64()
def textBytes = b64.decode(byteArray.getBytes())
FileOutputStream fos = new java.io.FileOutputStream(objFile);
fos.write( textBytes );
fos.flush();
fos.close();
log.info("Output file: " + filename)
...