Instructies voor het opzetten van een SOAP-koppeling met de Yuki API in Visual Studio 2008.

  • Start Visual Studio 2008 op en maak een nieuw project van het type Windows forms applicatie aan.
  • Klik in de Solution Explorer met de rechtermuis op de naam van het project en klik op Add Service Reference...
  • Voer de URL van de webservice in en klik op Go.
  • Als de webservice is gevonden en de WSDL is geladen, zal er een treeview worden geladen waaruit is op te maken dat de webservice HTTPPOST en SOAP ondersteunt.
  • Voer in het tekstveld onder het kopje Namespace de gewenste naam van de namespace in, in het voorbeeld 'yukiWS'.
  • Het feit dat meerdere methoden om met de webservice te werken worden ondersteund is belangrijk in 'Visual Studio 2008'. Tijdens het programmeren heb je de naam van de methode nodig die .NET tijdens de uitvoering moet gebruiken. Dit is de zogenaamde 'endpoint' waarmee je communiceert. De 'endpoint' is terug te vinden in een configuratie bestand die na het voltooien van de vorige Wizard automatisch is gegenereerd. Dit bestand wordt standaard niet getoond. Je kunt deze zichtbaar maken door in de Solution Explorer op Show All Files te klikken.
  • Open het bestand 'configuration.svc' info vanuit de 'Solution Explorer'. Zoek in dit XML-bestand naar de sectie met de 'endpoints'.
  • Zoek in beide 'endpoint' elementen naar het attribuut name. Je zult hier de waarden 'AccountingSoap' en 'AccountingSoap12' in vinden. Dit geeft aan dat de webservice 'SOAP 1.1' en 'SOAP 1.2' ondersteunt. In dit voorbeeld gebruiken we 'SOAP 1.1' dus onthoud hiervoor de 'endpoint AccountingSoap'. Je mag het XML bestand weer sluiten.
  • Maak vervolgens een formulier aan met een knop en een tekstvak waarin je de Webservice toegangscode (WebserviceAccessKey) kunt typen.
  • Dubbelklik in de form editor om automatisch code voor een button click event handler te genereren. Bekijk onderstaande code om te zien hoe de class en event handler methode er ongeveer uit moeten zien.
  • Plaats de code die webservice methodes aanroept altijd in een 'Try...Catch block'.