[vbox-dev] Reading Guest Properties for running VM (SOAP APIs)

Joseph Smith joseph1962smith at yahoo.com
Mon Jun 28 11:14:08 PDT 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-0001.html 


More information about the vbox-dev mailing list