Forum Discussion

Anson1000's avatar
Anson1000
Occasional Contributor
8 years ago
Solved

How to get response property value and use it as next step input

Version SoapUI 5.3    The first step Get country by country code (I input “in”, and I should get country name “India”) I want to user the country name “India” as input country name for the second...
  • HKosova's avatar
    8 years ago

    Just FYI there's no need to use Groovy, a regular Property Transfer will work just as well.

     

    Source (step): GetCountryByCountryCode
    Property: Response
    Path language: XPath
    Expression:

    (saxon:parse(//*:GetCountryByCountryCodeResult))//Table[1]/name

    or just

    (saxon:parse(//*:GetCountryByCountryCodeResult))//name

    (it seems that saxon picks the 1st matching node by default)


    Target: The test step where you need to use the "India" value
    Property: Request
    Path language: XPath

    Expression: An XPath expression for the target request field. For example, if you want to use the "India" value in the GetCurrencyByCountry operation that uses this request body

    <soap:Envelope xmlns:soap="http://www.w3.org/2003/05/soap-envelope" xmlns:web="http://www.webserviceX.NET">
       <soap:Header/>
       <soap:Body>
          <web:GetCurrencyByCountry>
             <web:CountryName>India</web:CountryName>
          </web:GetCurrencyByCountry>
       </soap:Body>
    </soap:Envelope>

    the request XPath expression would be

    //*:CountryName

     

    I attached a sample project to demonstrate the above.