我正在通过 VMware Orchestrator API 开发一个到 VMware vCenter 的自定义门户。我正在使用 savon 查询 Orchestrator 的 SOAP API (WSDL) 并返回有效数据……特别是包含所有虚拟机的 XML。
将响应捕获到 Rails 模型中的最佳/最简单方法是什么?响应的 XML 结构如下...
<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">
<soapenv:Body>
<findResponse xmlns="http://webservice.vso.dunes.ch">
<findReturn>
<totalCount>4</totalCount>
<elements>
<item>
<type>VC:VirtualMachine</type>
<id>vc.demo.local/vm-37</id>
<properties>
<item>
<name>displayName</name>
<value>FreeNAS</value>
</item>
<item>
<name>isTemplate</name>
<value>false</value>
</item>
<item>
<name>name</name>
<value>FreeNAS</value>
</item>
<item>
<name>connectionState</name>
<value>connected</value>
</item>
<item>
<name>state</name>
<value>poweredOff</value>
</item>
<item>
<name>vimHost</name>
<value>https://vc.demo.local:443/sdk</value>
</item>
<item>
<name>id</name>
<value>vm-37</value>
</item>
<item>
<name>dunesId</name>
<value>vc.demo.local/vm-37</value>
</item>
</properties>
<dunesUri>dunes://service.dunes.ch/CustomSDKObject?id='vc.demo.local/vm-37'&dunesName='VC:VirtualMachine'</dunesUri>
</item>
<item>
...
</item>
</elements>
</findReturn>
</findResponse>
</soapenv:Body>
</soapenv:Envelope>