2011-08-05 141 views
7

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

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); 

回答

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方法

6

对于那些谁在这里结束了从谷歌跟我一样了解甚少,vboxService.wsdl和vboxweb.wsdl提供有the Virtualbox SDK。只需下载它并提取文件,就可以在sdk/bindings/webservice下找到它们。