nia*_*iao 8 c# virtualbox web-services
我想使用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);
Run Code Online (Sandbox Code Playgroud)
这工作正常(我认为):
但是那时我怎么能得到虚拟机的版本?我不知道如何使用以下方法:
string test = string.Empty;
client.IVirtualBox_getVersion(test);
Run Code Online (Sandbox Code Playgroud)
我已经设法做了我期待的事情首先,我从两个wsdl文件生成了一个新的代理类
wsdl vboxService.wsdl vboxweb.wsdl
Run Code Online (Sandbox Code Playgroud)
然后wsdl.exe生成一个名为vboxService的代理类
然后以下代码执行我想要的:
vboxService service = new vboxService();
string oVirtualBox = service.IWebsessionManager_logon("", "");
service.IVirtualBox_Version(oVirtualBox);
Run Code Online (Sandbox Code Playgroud)
请注意,为简单起见,我暂时禁用了身份验证 - 这就是我将空字符串传递给IWebessionManager_logon方法的原因
对于那些从谷歌这里以非常少的知识来到这里的人来说,vboxService.wsdl和vboxweb.wsdl随Virtualbox SDK一起提供.只需下载并解压缩文件,您就可以在sdk/bindings/webservice下找到它们.