Storing XML response from webservice into Rails model -
I am working on VMware vCenter on a custom portal through the VMware Orchestrator API. I am using Sven to ask the SOAP API (Oversight) of Oversstarter and it is to return valid data ... especially an XML that contains all virtual machines.
What is the easiest way to capture the answer in the Rail model? The XML structure of the response is below ...
& lt; Soapenv: envelope xmlns: soapenv = "http://schemas.xmlsoap.org/soap/envelope/" xmlns: xsd = "http://www.w3.org/2001/XMLSchema" xmlns: xsi = "http: / /www.w3.org/2001/XMLSchema-instance "& gt; & Lt; Soapenv: body & gt; & Lt; FindResponse xmlns = "http://webservice.vso.dunes.ch" & gt; & Lt; FindReturn & gt; & Lt; TOTALCOUNT & gt; 4 & lt; / TOTALCOUNT & gt; & Lt; Elements & gt; & Lt; Items & gt; & Lt; Type & gt; VC: VirtualMachine & lt; / Type & gt; & Lt; ID & gt; Vc.demo.local / VM-37 & lt; / Id & gt; & Lt; Properties & gt; & Lt; Items & gt; & Lt; Name & gt; DISPLAYNAME & lt; / Name & gt; & Lt; Price & gt; FreeNAS & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; IsTemplate & lt; / Name & gt; & Lt; Price & gt; False & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; Name & lt; / Name & gt; & Lt; Price & gt; FreeNAS & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; ConnectionState & lt; / Name & gt; & Lt; Price & gt; Linked & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; State & lt; / Name & gt; & Lt; Price & gt; PoweredOff & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; VimHost & lt; / Name & gt; & Lt; Value & gt; Https: //vc.demo.local: 443 / SDK & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; Id & lt; / Name & gt; & Lt; Price & gt; VM-37 & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; Items & gt; & Lt; Name & gt; DunesId & lt; / Name & gt; & Lt; Price & gt; Vc.demo.local / VM-37 & lt; / Pricing & gt; & Lt; / Item & gt; & Lt; / Properties & gt; & Lt; DunesUri & gt; Dune: //service.dunes.ch/CustomSDKObject id = 'vc.demo.local / VM-37' & amp; Amp; DunesName =? 'VC: VirtualMachine' & lt; / DunesUri & gt; & Lt; / Item & gt; & Lt; Items & gt; ... & lt; / Item & gt; & Lt; / Elements & gt; & Lt; / FindReturn & gt; & Lt; / FindResponse & gt; & Lt; / Soapenv: Body & gt; & Lt; / Soapenv: envelope & gt;
You can select some key features, which you (query for name) Type id), and then store the remaining XML in the form of a clob or form or as a native XML type if your DB supports it. You can read other values in the code when you need it.
Comments
Post a Comment