访问virtualbox Webservice

时间:2011-08-05 20:14:32

标签: c# web-services virtualbox

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

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

这很好(我认为):

但是那时我怎么能得到虚拟机的版本? 我不知道如何使用以下方法:

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

2 个答案:

答案 0 :(得分:7)

我设法做了我所期待的事情 首先,我从两个wsdl文件生成了一个新的代理类

wsdl vboxService.wsdl vboxweb.wsdl
然后,

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

然后以下代码执行我想要的操作:

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

请注意,为简单起见,我暂时禁用了身份验证 - 这就是我将空字符串传递给IWebessionManager_logon方法的原因

答案 1 :(得分:6)

对于那些从谷歌那里知道像我这样知识很少的人来说,vboxService.wsdl和vboxweb.wsdl都提供了the Virtualbox SDK。只需下载并解压缩文件,您就可以在sdk / bindings / webservice下找到它们。

相关问题