Forum Discussion

cktone's avatar
13 years ago

Using Mock an saving Response

Hi,

I want to use a script in my mock. First the Script fills my response with values from the request und new vaules.
After this, I want to write my filled response and the request in a file.
My Problem ist now, i cannot save the current response, it saves only the response before the current. How can I solve this Problem?

My script:

if(mockRequest){
def groovyUtils = new com.eviware.soapui.support.GroovyUtils(context)
def holder = groovyUtils.getXmlHolder(mockRequest.requestContent)

def idMandant = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:Mandant"))
def idGeschlechtSkz = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:GeschlechtSkz"))
def idAnredeSkz = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:AnredeSkz"))
def idTitelSkz = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:TitelSkz"))
def idNachname = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:Nachname"))
def idVorname = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:Vorname"))
def idKorrespondenzspracheKz = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:KorrespondenzspracheKz"))
def idPartnerDisabled = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:Person//ns2:disabled"))

def idAnschriftMandant = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:Mandant"))
def idAnschriftId = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:AnschriftId"))
def idHauptanschrift = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:Hauptanschrift"))
def idPlz = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:Plz"))
def idOrt = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:Ort"))
def idAnschriftDisabled = String.valueOf(holder.getNodeValue("//ns3:savePartner//partner//ns2:AnschriftListe//ns2:disabled"))

context.setProperty("partnerID", (int)(Math.random()*100000))
context.setProperty("Mandant", idMandant)
context.setProperty("GeschlechtSkz", idGeschlechtSkz)
context.setProperty("AnredeSkz", idAnredeSkz)
context.setProperty("TitelSkz", idTitelSkz)
context.setProperty("nachname", idNachname)
context.setProperty("vorname", idVorname)
context.setProperty("KorrespondenzspracheKz", idKorrespondenzspracheKz)
context.setProperty("PartnerDisabled", idPartnerDisabled)

context.setProperty("AnschriftMandant", idAnschriftMandant)
context.setProperty("AnschriftId", idAnschriftId)
context.setProperty("Hauptanschrift", idHauptanschrift)
context.setProperty("plz", idPlz)
context.setProperty("ort", idOrt)
context.setProperty("AnschriftDisabled", idAnschriftDisabled)

date = new Date()
dateFormat = new java.text.SimpleDateFormat('yyyyMMdd-HHmmssSS')
shortDate = dateFormat.format(date)

def myOutResponseFile = shortDate + "_response.xml"
def myOutRequestFile = shortDate + "_request.xml"
def myOutPath = "C:/Temp/MyOutDir/bp/"

//Schreibt Response des Mocks in Datei
def responsef = new File(myOutPath+myOutResponseFile)
responsef.write(mockResponse.getMockResult().getResponseContent(), "UTF-8")

//Schreibt Request des Mocks in Datei
def requestf = new File(myOutPath+myOutRequestFile)
requestf.write(mockRequest.requestContent, "UTF-8")
} else {
log.info("NULL")
}