Ci sono alcune cose che puoi fare per generare quel codice. Il primo e più semplice modo (a mio parere) è creare un riferimento al servizio di quell'URL. Ecco alcuni screenshot:
Fare clic destro sul vostro progetto, aggiungere un riferimento al servizio:
Mettere in l'URL del ASMX (senza il metodo nella querystring), indicare il riferimento un nome e fare clic su OK:
che genererà il codice proxy è necessario per effettuare la chiamata:
Da lì, si può semplicemente utilizzare tale codice proxy per chiamare il servizio Web:
TerraService.TerraServiceSoapClient client = new TerraService
.TerraServiceSoapClient("TerraServiceSoap");
string place = client.ConvertLonLatPtToNearestPlace(
new TerraService.LonLatPt { Lat = 47.6532, Lon = -122.135479 });
Il secondo metodo è quello di utilizzare la riga di comando WSDL.exe
strumento che viene fornito con Visual Studio. Avviare un prompt dei comandi di Visual Studio e digitare wsdl /?
. Questo ti mostrerà i parametri per l'applicazione. Nel mio caso, ho solo tirato giù una copia del WSDL da http://msrmaps.com/terraservice2.asmx?wsdl, ha salvato al mio desktop e fatto funzionare l'ordine:
wsdl /o:./terraservice.cs terraservice.wsdl
genera la classe proxy accanto al mio file WSDL.
Un'ultima cosa ... diventare migliori amici con soapUI come suggerito da @Habibillah. È uno strumento fantastico per chiamare i servizi Web senza dover scrivere alcun codice.
Spero che questo aiuti!
Creare un proxy di servizio Web in Visual Studio. "Il modulo di test è disponibile solo per le richieste dal computer locale." significa che non puoi eseguire i metodi web mentre navighi da qualsiasi URL diverso da localhost. – Tariqulazam