2012-10-25 9 views
6

Hallo Ich wünsche Test verwenden die folgende Funktion: http://msrmaps.com/terraservice2.asmx?op=ConvertLonLatPtToNearestPlaceMögliche automatisch generieren, um Code mit WSDL in Visual Studio

Gibt es einen schnelleren Weg, ich es testen können Visual Studio 2010 mit aus? Ich benutze normalerweise C#. Ich frage mich nur, ist es möglich, in der WSDL, und Visual Studio automatisch generieren einige Code, um den Service anrufen? Vielen Dank.

Und was bedeutet es übrigens "Das Testformular ist nur für Anfragen von der lokalen Maschine verfügbar." in der URL?

+1

Erstellen Sie einen Webservice-Proxy in Visual Studio. "Das Testformular ist nur für Anfragen vom lokalen Computer verfügbar." bedeutet, dass Sie die Webmethoden nicht ausführen können, während Sie von einer anderen URL als localhost aus surfen. – Tariqulazam

Antwort

12

Es gibt ein paar Dinge, die Sie tun können, um diesen Code zu generieren. Der erste und einfachste Weg (meiner Meinung nach) besteht darin, einen Service-Verweis auf diese URL zu erstellen. Hier sind einige Screenshots:

Recht auf Ihrem Projekt klicken, wird einen Dienstverweis hinzufügen:

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

in der URL-Put für die asmx (ohne das Verfahren in der Abfragezeichenfolgeflag), gibt der Referenz einen Namen und klicken Sie auf OK:

Enter the URL for the service

dass der Proxy-Code, den Sie für die Herstellung der Anruf benötigen erzeugen:

Notice the new service reference in the project

Von dort können Sie nur, dass Proxy-Code verwenden, um den Web-Service zu nennen:

TerraService.TerraServiceSoapClient client = new TerraService 
    .TerraServiceSoapClient("TerraServiceSoap"); 
string place = client.ConvertLonLatPtToNearestPlace(
    new TerraService.LonLatPt { Lat = 47.6532, Lon = -122.135479 }); 

Die zweite Methode ist die Befehlszeilen WSDL.exe-Tool, das mit Visual Studio kommt. Starten Sie eine Visual Studio-Eingabeaufforderung, und geben Sie wsdl /? ein. Das zeigt Ihnen die Parameter für die Anwendung. In meinem Fall, ich zog nur eine Kopie der WSDL unten von http://msrmaps.com/terraservice2.asmx?wsdl, speicherte es auf meinen Desktop und lief den Befehl:

wsdl /o:./terraservice.cs terraservice.wsdl 

Generiert die Proxy-Klasse neben meiner WSDL-Datei.

Eine letzte Sache ... werden beste Freunde mit soapUI, wie @Habibillah vorgeschlagen. Es ist ein fantastisches Tool zum Aufrufen von Webdiensten, ohne Code schreiben zu müssen.

Hoffe, dass hilft!

+1

Falls sich jemand wundert; Die Adresse in Bildschirm 2 kann auch ein Dateipfad sein. – surfmuggle

2

Visual Studio kann Code für WSDL/Webservice generieren, auf den durch eine URL verwiesen wird, auch wenn es sich außerhalb Ihres lokalen Computers befindet. Auf das Testformular, auf das der Browser zugreift, kann jedoch nur auf dem lokalen Rechner (localhost) zugegriffen werden.

Aber Sie können immer noch den Webservice über das Internet mit anderen Tools wie soapUI testen. Dieses Tool ist nützlich um Webservice über das Internet zu testen.

Verwandte Themen