Spesso capita di dover inserire nei propri progetti dei riferimenti a web service esterni. Visual Studio ci consente di fare la cosa molto agevolmente attraverso la funzionalità "Add Web Reference" che crea in automatico le classi proxy per poter accedere al web service e fare le chiamate.
A mio avviso questa soluzione è molto comoda nei progetti di test ed eventualmente nei siti web o nelle windows form, però ci sono alcuni casi in cui non la ritengo molto elegante per quanto riguarda la stesura del codice.
Mi riferisco in particolare all'inserimento all'interno di una class library. In questo caso preferisco sfruttare il tool
Web Services Description Language che crea un file con tutte le classi necessarie per l'invocazione del WS (esattamente come avviene per la Web Reference).
Un esempio della chiamata che possiamo fare da Command Prompt è la seguente:
wsdl
"http://WebServer/WebService/WebService1.asmx" /language:VB
/out:C:\temp\WebService1.vb /namespace:MiaApp.WebServices
Una volta creato basterà aggiungere il file alla nostra class library ed il gioco è fatto.
PS: Ecco il link alla documentazione dove vengono proposte le due soluzioni:
http://support.microsoft.com/?scid=kb%3Ben-us%3B818364&x=13&y=7