[vbox-dev] Reading Guest Properties for running VM (SOAP APIs)
Joseph Smith
joseph1962smith at yahoo.com
Mon Jun 28 18:14:08 GMT 2010
Hi Klaus,
Thanks for the reply. I'm not able to re-run the test just now ... but will later this evening.
Actually ... the message I put below was copied directly from the output of the soap fault message ... so I did not modify the message in any way. Not sure why it was reported that way. I'll investigate further.
I am pretty sure I am not using a IVirtualBox::getMachine ref though I may have made such a mistake and not realized it. Later tonight when I get a chance to look at the code I will double-check.
Thanks again,
Joe
________________________________
From: Klaus Espenlaub <Klaus.Espenlaub at Sun.COM>
To: Joseph Smith <joseph1962smith at yahoo.com>
Cc: vbox-dev at virtualbox.org
Sent: Mon, June 28, 2010 12:38:29 PM
Subject: Re: [vbox-dev] Reading Guest Properties for running VM (SOAP APIs)
Joseph Smith wrote:
> Hi,
>
> I am encountering some challenges when trying to retrieve guest properties (enumerateGuestProperties) via the SOAP API.
>
> I am able to use this API and retreive guest properties if the guest is not running ... but get a runtime exception if I try when the guest is running. I know it can be done since VBoxManage is able to ... but I'm wondering if this could possibly be a vboxwebsrv problem. Essentially ... the steps I use are:
>
> 1) Instantiate a new Session object
> 2) Using this session object ... try to open a new session (openSession)
> 3) If getting a new session fails ... try to open an existing session (openExistingSession)
> 3) With the opened session object ... get the machine object reference (ISession::machine)
> 4) Using the machine reference ... enumerate the guest properties (ISession::enumerateGuestProperties)
>
> If the VM is not running ... it works perfectly. If the VM is running ... a runtime exception is thrown. The error thrown is:
> "VirtualBox error: Internal application error (0x2147500037)"
Printing 0x in front of a number doesn't make it hex ;)
This is error 0x80004005 = E_FAIL.
>From the looks you're not doing what you claim, as exactly this sequence works fine in VBoxManage. Sure that you're not accidentally using an IMachine reference returned by IVirtualBox::getMachine?
Klaus
>
> Using the same Machine reference object I can retrieve other machine specific information ... so I know the machine ref is valid (additionally, the UUID on the machine ref matches the UUID of the VM).
>
> I am also able to use this same approach to getting a session for both a non-running and running VM to start/stop/pause or otherwise manage a VM. As frequently suggested (<smile>) ... I have looked over how VBoxManage does it ... and I am unable to see a difference between how VBoxManage retreives the information when compared to they way I do.
>
> I'm sure I must be doing something wrong ... but it sure does not seem very obvious.
>
> Anyone have any suggestions they can offer ?
>
>
> Thanks,
> Joe
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> vbox-dev mailing list
> vbox-dev at virtualbox.org
> http://vbox.innotek.de/mailman/listinfo/vbox-dev
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.virtualbox.org/pipermail/vbox-dev/attachments/20100628/3cc2389e/attachment.html>
More information about the vbox-dev
mailing list