AnsweredAssumed Answered

How to send and receive data through Invoke Action Web Service

Question asked by abarbosa on Feb 28, 2017
Latest reply on Mar 1, 2017 by nick_darlington

Hi CA experts!!!

 

I would like to ask to all experts here, and hear some opinions too, about a task that we want to do in our project.

We have another application (let's call it XIS) that need to display some of the CA Clarity data in their application. We provide some web services (Query and Objects) to deliver this data. Meanwhile, our projects in CA Clarity execute a process if a condition is verified, to catch data from another data sources (other databases). This process runs when the project is saved.

The main problem here is, when the XIS is calling the web services Query or Object the data could be out-of-date. To solve this problem I'm think to call the Invoke Action web service. I already do some test and I already understand how to call this web service. But, my main question here is when I send data through request tag, how can I catch this values in the process, in this case in the gel script. For instance, my request is made using this XML

 

<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:inv="http://www.niku.com/xog/InvokeAction">
   <soapenv:Header>
      <inv:Auth>
        <inv:Username>userXIS</inv:Username>
        <inv:Password>niku2017</inv:Password>
      </inv:Auth>
   </soapenv:Header>
   <soapenv:Body>
      <inv:Process>
         <code>process_invaction</code>
         <request>
          <projects>
           <project projectID="5584503">            
           </project>
          </projects>
         </request>
      </inv:Process>
   </soapenv:Body>
</soapenv:Envelope>

After making this call, I can see the process to be start and execute and finish with success, but I'm still need to catch the XML sent through the request XML tag (projectID value) to make the correct update in the database. How can I do this?

I already though in another way too. In my research I saw that is possible to catch the current process instanceId using ${gel_processInstanceId}. The process has a xml_document associated. If it was possible catch this XML from a query, and the XML is the XML fragment sent through request XML tag, I think that I will be able to do the correct update in my project.

Please, can anyone help me on this, explain how to catch the request XML in a gel script or if exist another way to to that?

 

Many thanks,

AB

Outcomes