[vbox-dev] Fw: Setting HPET via SOAP
Yuriy Tretyakov
tretyakoff_y at ukr.net
Wed Nov 26 14:42:23 UTC 2014
Hi Guys! Forum moderator suggests me to contact somebody from developers to solve my problem faster than waiting answer on forum.
I have a trouble setting boolean values via SOAP for VBOX.
Actually, I need to set IMachine_setHPETEnabled to True programmatically, but IMachine_setCPUHotPlugEnabled also doesn't work.
Trying to set these parameters always follows with Machine is not mutable error. But setting of memory like in SDK example works fine.
What I'm actually do. I using suds SOAP client library for Python.
This is part of a vbox web server wrapper's code: def __init__(self, wsdlFileName, hostString, username = '', password = '', SessionId = None, VboxID=None):
wsdlFile = urllib.parse.urljoin('file:', urllib.request.pathname2url(path + "\\" + wsdlFileName))
self.client = Client(wsdlFile, location = hostString)
self.VboxID = self.client.service.IWebsessionManager_logon(username, password)
self.SessionId = self.client.service.IWebsessionManager_getSessionObject(self.VboxID)
def RestoreSnapshot(self, machineName, SnapshotName):
self.MachineName = machineName
self.MachineUID = self.client.service.IVirtualBox_findMachine(self.VboxID, machineName)
snapShotId = self.client.service.IMachine_findSnapshot(self.MachineUID, SnapshotName)
writableMachineUID = self.__lockMachineGetWritableUID__(self.MachineUID, self.SessionId)
consoleId = self.client.service.ISession_getConsole(self.SessionId)
self.client.service.IConsole_restoreSnapshot(consoleId, snapShotId)
self.__unlockMachine__(writableMachineUID, self.SessionId)
return snapShotId
def SetHpet(self,state):
writableMachineUID = self.__lockMachineGetWritableUID__(self.MachineUID, self.SessionId)
try:
self.client.service.IMachine_setHPETEnabled(writableMachineUID,True)<< Machine is not mutable error here
#self.client.service.IMachine_setMemorySize(writableMachineUID,1024) <<this is works here!!!
finally:
self.__unlockMachine__(self, writableMachineUID, self.SessionId)
Code that uses mentioned lib:
wsdfl_file_name='vboxwebService-4.2.wsdl'
vbWebCtrl1=VBoxWebControl(wsdfl_file_name,'localhost_url:18083/')
vbWebCtrl1.RestoreSnapshot('Win7x64_1','TestSnapshot')
vbWebCtrl1.SetHpet(True)<< here I use true and 'true' and 'True' - nothing was changed- same error
vbWebCtrl1.StartVM()
Setting of HPET works perfectly via commandline. Please, let me know what I'm doing wrong or fix this.
VBOX info:
VM VirtualBox web service Version 4.3.12
VirtualBox web service 4.3.12 r93733
Webserver
Python
Win7x64 With best regards, Yuriy Tretyakov
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.virtualbox.org/pipermail/vbox-dev/attachments/20141126/93edce13/attachment.html
More information about the vbox-dev
mailing list