2012-10-25 10 views
6

Salve Vorrei utilizzare il test la seguente funzione: http://msrmaps.com/terraservice2.asmx?op=ConvertLonLatPtToNearestPlacePossibile autogenerate di codice utilizzando WSDL in Visual Studio

C'è qualche modo più veloce che posso provarlo utilizzando Visual Studio 2010? Io uso normalmente C#. Mi chiedo solo se è possibile inserire il wsdl e lasciare che lo studio visivo generi automaticamente del codice per chiamare il servizio? Grazie.

E a proposito, che cosa significa "Il modulo di test è disponibile solo per le richieste dalla macchina locale". nell'URL?

+1

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

risposta

12

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:

Right click on the project and choose to add a service reference

Mettere in l'URL del ASMX (senza il metodo nella querystring), indicare il riferimento un nome e fare clic su OK:

Enter the URL for the service

che genererà il codice proxy è necessario per effettuare la chiamata:

Notice the new service reference in the project

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!

+1

Nel caso qualcuno si chiedesse; anche l'indirizzo nella schermata 2 può essere un percorso di file. – surfmuggle

2

Visual Studio può generare codice per wsdl/webservice a cui fa riferimento un URL anche all'esterno del computer locale. Tuttavia, il modulo di prova a cui accede il browser può solo accedere al computer locale (localhost).

Ma è comunque possibile testare il servizio Web su Internet con altri strumenti come soapUI. Questo strumento è utile per testare il webservice su internet.

Problemi correlati