I'm able to connect to my xenserver using virsh like so and I see the VMs. <div><br></div><div><div>[jdrews@flynx ~]$ virsh -c xenapi://<a href="http://root@192.168.1.23?no_verify=1">root@192.168.1.23?no_verify=1</a> list</div>

<div>Enter root's password for <a href="http://192.168.1.23">192.168.1.23</a>: </div><div> Id    Name                           State</div><div>----------------------------------------------------</div><div>Struct did not contain expected field memory_overhead.</div>

<div>Struct did not contain expected field snapshot_info.</div><div>Struct did not contain expected field snapshot_metadata.</div><div>Struct did not contain expected field parent.</div><div>Struct did not contain expected field children.</div>

<div>Struct did not contain expected field bios_strings.</div><div>Struct did not contain expected field protection_policy.</div><div>Struct did not contain expected field is_snapshot_from_vmpp.</div><div>Struct did not contain expected field appliance.</div>

<div>Struct did not contain expected field start_delay.</div><div>Struct did not contain expected field shutdown_delay.</div><div>Struct did not contain expected field order.</div><div>Struct did not contain expected field VGPUs.</div>

<div>Struct did not contain expected field attached_PCIs.</div><div>Struct did not contain expected field suspend_SR.</div><div>Struct did not contain expected field version.</div><div> 0     Control domain on host: xenserver-4 running</div>

<div>Struct did not contain expected field memory_overhead.</div><div>Struct did not contain expected field snapshot_info.</div><div>Struct did not contain expected field snapshot_metadata.</div><div>Struct did not contain expected field parent.</div>

<div>Struct did not contain expected field children.</div><div>Struct did not contain expected field bios_strings.</div><div>Struct did not contain expected field protection_policy.</div><div>Struct did not contain expected field is_snapshot_from_vmpp.</div>

<div>Struct did not contain expected field appliance.</div><div>Struct did not contain expected field start_delay.</div><div>Struct did not contain expected field shutdown_delay.</div><div>Struct did not contain expected field order.</div>

<div>Struct did not contain expected field VGPUs.</div><div>Struct did not contain expected field attached_PCIs.</div><div>Struct did not contain expected field suspend_SR.</div><div>Struct did not contain expected field version.</div>

<div> 23    VM1 (RH5.2 10.4.1.69 eth0) running</div><div>Struct did not contain expected field memory_overhead.</div><div>Struct did not contain expected field snapshot_info.</div><div>Struct did not contain expected field snapshot_metadata.</div>

<div>Struct did not contain expected field parent.</div><div>Struct did not contain expected field children.</div><div>Struct did not contain expected field bios_strings.</div><div>Struct did not contain expected field protection_policy.</div>

<div>Struct did not contain expected field is_snapshot_from_vmpp.</div><div>Struct did not contain expected field appliance.</div><div>Struct did not contain expected field start_delay.</div><div>Struct did not contain expected field shutdown_delay.</div>

<div>Struct did not contain expected field order.</div><div>Struct did not contain expected field VGPUs.</div><div>Struct did not contain expected field attached_PCIs.</div><div>Struct did not contain expected field suspend_SR.</div>

<div>Struct did not contain expected field version.</div><div> 25    DeviceSimulator (192.168.1.150) running</div><div>Struct did not contain expected field memory_overhead.</div><div>Struct did not contain expected field snapshot_info.</div>

<div>Struct did not contain expected field snapshot_metadata.</div><div>Struct did not contain expected field parent.</div><div>Struct did not contain expected field children.</div><div>Struct did not contain expected field bios_strings.</div>

<div>Struct did not contain expected field protection_policy.</div><div>Struct did not contain expected field is_snapshot_from_vmpp.</div><div>Struct did not contain expected field appliance.</div><div>Struct did not contain expected field start_delay.</div>

<div>Struct did not contain expected field shutdown_delay.</div><div>Struct did not contain expected field order.</div><div>Struct did not contain expected field VGPUs.</div><div>Struct did not contain expected field attached_PCIs.</div>

<div>Struct did not contain expected field suspend_SR.</div><div>Struct did not contain expected field version.</div><div> 28    VM3 (RH 5.2 10.4.1.15 eth0) running</div><div>Struct did not contain expected field memory_overhead.</div>

<div>Struct did not contain expected field snapshot_info.</div><div>Struct did not contain expected field snapshot_metadata.</div><div>Struct did not contain expected field parent.</div><div>Struct did not contain expected field children.</div>

<div>Struct did not contain expected field bios_strings.</div><div>Struct did not contain expected field protection_policy.</div><div>Struct did not contain expected field is_snapshot_from_vmpp.</div><div>Struct did not contain expected field appliance.</div>

<div>Struct did not contain expected field start_delay.</div><div>Struct did not contain expected field shutdown_delay.</div><div>Struct did not contain expected field order.</div><div>Struct did not contain expected field VGPUs.</div>

<div>Struct did not contain expected field attached_PCIs.</div><div>Struct did not contain expected field suspend_SR.</div><div>Struct did not contain expected field version.</div><div> 30    Router 10.4.1.x (192.168.1.254) running</div>

<div><br></div><div>I'm using a compiled version of libvirt that I enabled the xenapi protocol. </div><div><br></div><div>[jdrews@flynx ~]$ virsh -v</div><div>0.9.10</div></div><div><br></div><div>I can also start and stop VMs via virsh.</div>

<div><br></div><div>So the next move for me was to get this working with the java bindings, libvirt-java. I grabbed libvirt-0.4.7.jar and built it. Eclipse is set up and I can see everything correctly. I built a small runnable test jar and ran it. </div>

<div><br></div><div><div>[jdrews@flynx ~]$ java -jar VirtAPITesting.jar </div><div>connecting on: xenapi://<a href="http://root@192.168.1.23?no_verify=1">root@192.168.1.23?no_verify=1</a></div><div>Enter root's password for 192.168.1.23</div>

<div>WARNING: THE ENTERED PASSWORD WILL NOT BE MASKED!</div><div>mytestpass</div><div>exception caught:org.libvirt.LibvirtException: unable to connect to server at '<a href="http://192.168.1.23:16514">192.168.1.23:16514</a>': No route to host</div>

<div>level:VIR_ERR_ERROR</div><div>code:VIR_ERR_SYSTEM_ERROR</div><div>domain:VIR_FROM_RPC</div><div>hasConn:false</div><div>hasDom:false</div><div>hasNet:false</div><div>message:unable to connect to server at '<a href="http://192.168.1.23:16514">192.168.1.23:16514</a>': No route to host</div>

<div>str1:%s</div><div>str2:unable to connect to server at '<a href="http://192.168.1.23:16514">192.168.1.23:16514</a>': No route to host</div><div>str3:null</div><div>int1:-1</div><div>int2:-1</div><div><br></div>

<div>Exception in thread "main" java.lang.reflect.InvocationTargetException</div><div><span class="Apple-tab-span" style="white-space:pre">       </span>at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)</div><div><span class="Apple-tab-span" style="white-space:pre">     </span>at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)</div>

<div><span class="Apple-tab-span" style="white-space:pre">      </span>at java.lang.reflect.Method.invoke(Method.java:616)</div><div><span class="Apple-tab-span" style="white-space:pre">  </span>at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:58)</div>

<div>Caused by: java.lang.NullPointerException</div><div><span class="Apple-tab-span" style="white-space:pre">      </span>at com.codemettle.VirtAPI.testing.VirtAPITesting.main(VirtAPITesting.java:29)</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>... 5 more</div>

</div><div><br></div><div>But I know there is a route to the host as virsh could get there. Sanity check: ping works fine too. </div><div><div>[jdrews@flynx ~]$ ping 192.168.1.23</div><div>PING 192.168.1.23 (192.168.1.23) 56(84) bytes of data.</div>

<div>64 bytes from <a href="http://192.168.1.23">192.168.1.23</a>: icmp_req=1 ttl=64 time=1.58 ms</div></div><div><br></div><div>Here is the code I'm running in the VirtAPITesting.jar. For the most part it's a direct copy of the example at the end of the libvirt java page: <a href="http://libvirt.org/java.html">http://libvirt.org/java.html</a></div>

<div><br></div><div><div>package com.jdrews.VirtAPI.testing;</div><div>import org.libvirt.*;</div><div><br></div><div>public class VirtAPITesting {</div><div>    public static void main(String[] args) throws InterruptedException {</div>

<div>    <span class="Apple-tab-span" style="white-space:pre">  </span>System.setProperty("jna.library.path", "/usr/local/lib/");</div><div>        Connect conn=null;</div><div>        System.out.println(</div>

<div>        ConnectAuth defaultAuth = new ConnectAuthDefault();</div><div>        try{</div><div>            conn = new Connect("xenapi://<a href="http://root@192.168.1.23?no_verify=1">root@192.168.1.23?no_verify=1</a>", defaultAuth, 0);</div>

<div>        } catch (LibvirtException e){</div><div>            System.out.println("exception caught:"+e);</div><div>            System.out.println(e.getError());</div><div>        }</div><div>        </div><div>

        try {</div><div>            Domain testDomain=conn.domainLookupByName("DeviceSimulator (192.168.1.150)");</div><div>            System.out.println("Domain:" + testDomain.getName() + " id " +</div>

<div>                               testDomain.getID() + " running " +</div><div>                               testDomain.getOSType());</div><div>        } catch (LibvirtException e) {</div><div>            System.out.println("exception caught:"+e);</div>

<div>            System.out.println(e.getError());</div><div>        }</div><div>        </div><div>    }</div><div>}</div></div><div><br></div><div>Does anyone know what's going on here? Any help or advice would be greatly appreciated. Thanks!</div>

<div><br>--<br>Jon Drews<br><a href="http://jondrews.com">jondrews.com</a><br>
</div>