2011-08-05 28 views
7

Chcę uzyskać dostęp do usługi VirtualBox przy użyciu C#. Najpierw utworzyłem proxy usługi przy użyciu pliku wsdl.exe i vboxwebService.wsdl. ' Zakładając, że usługa internetowa VirtualBox znajduje się pod adresem: http://localhost:18083/, w jaki sposób mogę uzyskać do niej dostęp za pomocą C#? robie tak:Uzyskiwanie dostępu do usługi wirtualnej skrzynki internetowej

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

i to działa prawidłowo (chyba):

Ale jak potem to można uzyskać na przykład wersji VirtualBox? Nie wiem, w jaki sposób należy stosować następujące metody:

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

Odpowiedz

7

udało mi się zrobić to, co spodziewałem Przede wszystkim generowany nową klasę proxy z dwoma WSDL plików

wsdl vboxService.wsdl vboxweb.wsdl 

wsdl.exe następnie generowane klasy proxy nazwie vboxService

następnie następujący kod robi to, co chcę:

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

Należy pamiętać, że dla uproszczenia I uwierzytelniania dla niepełnosprawnych teraz - to dlaczego Mijam puste ciągi do metody IWebessionManager_logon

6

Dla tych, którzy skończyło się tutaj z google bardzo mało wiedzą jak ja, vboxService.wsdl i vboxweb.wsdl są dostarczane z the Virtualbox SDK. Po prostu pobierz i wyodrębnij pliki, znajdziesz je w sdk/bindings/webservice.

Powiązane problemy