Forum Discussion

Aksingia's avatar
Aksingia
Occasional Contributor
8 years ago

Transferring property values using a WSDL

Hello, I using SOAPUI to test a suite of CICS webservices. I have the corresponding WSDLs. But I can't find the way to transfer values from a response to a request.   Here is a samble of the ws...
  • HKosova's avatar
    8 years ago

    Hi Aksingia,

     

    You can use inline property expansion:

    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:gdox="http://www.GDOXBA0.GDOXBA0I.Request.com">
       <soapenv:Header/>
       <soapenv:Body>
          <gdox:GDOXBA0Operation>
             <gdox:data_appli>
                <gdox:imports>
                   <gdox:import_id_doc_stk>${Previous Step Name#Response#(//*:export_id_doc_stk)[1]}</gdox:import_id_doc_stk>
                </gdox:imports>
             </gdox:data_appli>
          </gdox:GDOXBA0Operation>
       </soapenv:Body>
    </soapenv:Envelope>

     

    or the Property Transfer step with this config:
    Source: the source step
    Property: Response or ResponseAsXml
    Path language: XPath
    Expression:

    (//*:export_id_doc_stk)[1]

    (meaning: find all "export_id_doc_stk" nodes and take the first match)

     

    Target: the target step
    Property: Request
    Path language: XPath
    Expression:

    //*:import_id_doc_stk

     

    In XPath, "//" means "find the element on any level" and "*" matches any namespace prefix, allowing for shorter and simpler notation.