Eviware Forum

soapUI => soapUI => Topic started by: ind on July 27, 2007, 10:31:34 am



Title: SOAP XML Parsing with Groovy.
Post by: ind on July 27, 2007, 10:31:34 am
Hi,

Here is my SOAP Request:

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:web="http://www.webserviceX.NET">
   <soapenv:Header/>
   <soapenv:Body>
      <web:GetUKLocationByPostCode>
         <!--Optional:-->
         <web:PostCode>33</web:PostCode>
    <web:county>Manipal</web:county>
      </web:GetUKLocationByPostCode>
   </soapenv:Body>
</soapenv:Envelope



// //I need to get the  Postcode value/text.so here is my  Groovy Snippet To get the  Postcode  Text /Value ..But it didn't work...Because Of the  presence of    ":".



def output = ""
def rootNode = new XmlSlurper().parseText(xml)

rootNode.each {
  output += it.text().trim()
}
log.info(output)
log.info(rootNode.soapenv:Envelope.soapenv:Header.soapenv:Body.web:GetUKLocationByPostCode.web:PostCode.text())

But the same  code works fine with the Normal XML (i.e, Doesn't contain ":" ).
So, how to get  the Postcode.

Regards,
Franky.


Title: Re: SOAP XML Parsing with Groovy.
Post by: omatzura on July 27, 2007, 11:16:45 am
Hi Franky,

have a look at the "Modification of request xml" example in our user-guide at http://www.soapui.org/userguide/functional/groovystep.html#Groovy_Script_Examples, it shows how to parse a message containing namespaces..

Alternatively go for the soapUI Pro version which contains a GroovyUtils class that makes this even easier.. check out http://www.soapui.org/userguide/functional/groovystep.html#GroovyUtils

regards!

/Ole
eviware.com