Forum Discussion

matrad869's avatar
10 years ago

setNodeValue- pls help

Hi guys,
Can some one help me to set value from a .doc file to Request?

Below script:
def groovyUtils = new com.eviware.soapui.support.GroovyUtils( context );
def responseHolder = groovyUtils.getXmlHolder("getCustomerInfo#Response");

responseHolder.declareNamespace( 'ns0', 'http://service-xxxx/schemas/service');
phoneNumber=responseHolder.getNodeValue("//ns0:getCustomerInfoResponseBody[1]/ns0:phoneNumber[1]");

def outFile = new File("C:/Users/MRadzio1/Desktop/values.txt")
outFile.write(phoneNumber, "UTF-8");

^^ it's working properly (phoneNumber saved in .txt file)

fileReader = new BufferedReader(new FileReader("C:/Users/MRadzio1/Desktop/values.txt"));
firstLine = fileReader.readLine();

def holder = groovyUtils.getXmlHolder("getPreAprovedLimit#Request");

holder.declareNamespace('ser','http://service-xxxx/schemas/service');
putFirstLine = holder.setNodeValue("//ser:getPreAprovedLimitRequest[1]/ser:phoneNumber[1]", "" + firstLine);

log.info "$firstLine"

^^
But it doesn't wok ;/

I didn't have any Error and my script is "green" but in my Request (getPreAprovedLimitRequest) node phoneNumber[1] is still empty.
Below request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://service-xxxx/schemas/service">
<soapenv:Header/>
<soapenv:Body>
<ser:getPreAprovedLimitWSDLIn>
<ser:header>
<ser:messageId>123456</ser:messageId>
<ser:correlationId>1234</ser:correlationId>
<ser:timestamp>2014-04-17T10:33:14.469+02:00</ser:timestamp>
</ser:header>
<ser:getPreAprovedLimitRequest>
<ser:pesel>79122048696</ser:pesel>
<ser:phoneNumber></ser:phoneNumber> <---- After running groovy script it's still empty
</ser:getPreAprovedLimitRequest>
</ser:getPreAprovedLimitWSDLIn>
</soapenv:Body>
</soapenv:Envelope>

Can you help me? What I'am doing wrong?
Tahnks,
Regards
No RepliesBe the first to reply