2011-08-05 23 views
7

Quiero acceder al servicio web VirtualBox usando C#. Primero creé un proxy de servicio usando wsdl.exe y el archivo vboxwebService.wsdl. ' Suponiendo que el servicio web VirtualBox se encuentra en: http://localhost:18083/ ¿cómo puedo acceder usando C#? que estoy haciendo algo como esto:Acceso al servicio web virtualbox

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

y esto funciona bien (creo):

Pero entonces, ¿cómo puedo entonces obtener la versión instancia de VirtualBox? No sé cómo utilizar el siguiente método:

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

Respuesta

7

He conseguido hacer lo que estaba esperando En primer lugar me genera una nueva clase de proxy a partir de dos archivos WSDL

wsdl vboxService.wsdl vboxweb.wsdl 

wsdl.exe continuación, genera una clase de proxy llamado vboxService

entonces el siguiente código hace lo que yo quiero:

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

Tenga en cuenta que por simplicidad que la autenticación desactivado por ahora - es por eso que me pase a cadenas vacías método IWebessionManager_logon

6

Para aquellos que terminaron aquí desde google con muy poco conocimiento como yo, y vboxService.wsdl vboxweb.wsdl se proporcionan con the Virtualbox SDK. Simplemente descárguelo y extraiga los archivos; los encontrará en sdk/bindings/webservice.

Cuestiones relacionadas