Accessing virtualbox webservice

本文关键字:webservice virtualbox Accessing | 更新日期: 2023-09-27 18:04:52

我想使用c#访问VirtualBox webservice。首先,我使用wsdl.exe和vboxwebService创建了一个服务代理。WSDL文件。"假设VirtualBox web服务位于:http://localhost:18083/我如何使用c#访问它?我正在做这样的事情:

EndpointAddress endpoint = new EndpointAddress("http://localhost:18083/");
BasicHttpBinding binding = new BasicHttpBinding();
vboxPortTypeClient client = new vboxPortTypeClient(binding,endpoint);

和这个工作良好(我认为):

但是我怎样才能得到virtualbox的实例版本呢?我不知道如何使用下面的方法:

string test = string.Empty;
client.IVirtualBox_getVersion(test);

Accessing virtualbox webservice

我已经做到了我所期望的首先,我从两个wsdl文件生成了一个新的代理类

wsdl vboxService.wsdl vboxweb.wsdl

wsdl.exe然后生成一个名为vboxService的代理类

,下面的代码做我想要的:

vboxService service = new vboxService();
string oVirtualBox = service.IWebsessionManager_logon("", "");
service.IVirtualBox_Version(oVirtualBox);

请注意,为了简单起见,我现在禁用了身份验证-这就是为什么我将空字符串传递给IWebessionManager_logon方法

给那些像我一样从谷歌来到这里的人,vboxService。WSDL和vboxweb。Virtualbox SDK提供了wsdl。只需下载并解压缩文件,你会在sdk/bindings/webservice下找到它们。