vCenter 代理实施

vCenter proxy implementation

我正在使用 ssl-sockets 编写 vCenter 代理,以减少与 vCenter 的连接数。

我有一个连接使用 vi-java 来更新 vCenter 清单(PropertyCollector、PropertyFilter 等),我想将对象 return 转换为 vi-java 以SOAP XML 写入套接字。

是否有适用于所有 vi-java 类型的软件包?

这是 PropertyCollector 对象的序列化,例如:

<com.vmware.vim25.mo.PropertyCollector>
  <serverConnection>
  ....
  </serverConnection>
  <mor>
    <val>session[b7ea29d3-92e3-0ac9-e017-2748a3120379]52aab664-bb24-845a-7189-d48085e866aa</val>
    <type>PropertyCollector</type>
  </mor>
</com.vmware.vim25.mo.PropertyCollector>

虽然这是预期的 SOAP 响应:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope xmlns:soapenc="http://schemas.xmlsoap.org/soap/encoding/"
 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>
<CreatePropertyCollectorResponse xmlns="urn:vim25"><returnval type="PropertyCollector">session[b7ea29d3-92e3-0ac9-e017-2748a3120379]52aab664-bb24-845a-7189-d48085e866aa</returnval></CreatePropertyCollectorResponse>
</soapenv:Body>
</soapenv:Envelope>

在 vi-java 中,XmlGen.toXml(...) 可以做到这一点