簡體   English   中英

可以在Visual Studio中使用WSDL自動生成代碼

[英]Possible to autogenerate to code using WSDL in Visual Studio

您好,我希望使用測試以下功能: http//msrmaps.com/terraservice2.asmx?op = ConvertLonLatPtToNearestPlace

有沒有更快的方法可以使用Visual Studio 2010測試它? 我正常使用C#。 我只是想知道是否可以輸入wsdl,並讓visual studio自動生成一些代碼來調用服務? 謝謝。

順便說一句,這意味着什么“測試表只適用於本地機器的請求。” 在網址?

您可以執行一些操作來生成該代碼。 第一個也是最簡單的方法(在我看來)是創建一個對該URL的服務引用。 以下是一些截圖:

右鍵單擊您的項目,添加服務引用:

右鍵單擊項目,然后選擇添加服務引用

輸入asmx的URL(不包含查詢字符串中的方法),為引用指定名稱,然后單擊“確定”:

輸入服務的URL

這將生成進行調用所需的代理代碼:

注意項目中的新服務引用

從那里,您可以使用該代理代碼來調用Web服務:

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

第二種方法是使用visual studio附帶的命令行WSDL.exe工具。 啟動visual studio命令提示符並鍵入wsdl /? 這將顯示應用程序的參數。 在我的例子中,我只是從http://msrmaps.com/terraservice2.asmx?wsdl下載了一份WSDL,將其保存到我的桌面並運行命令:

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

生成我的WSDL文件旁邊的代理類。

最后一件事......正如@Habibillah建議的那樣成為soapUI最好的朋友。 它是調用Web服務的絕佳工具,無需編寫任何代碼。

希望有所幫助!

Visual Studio可以為URL引用的wsdl / webservice生成代碼,即使它在本地計算機外部也是如此。 但是,瀏覽器訪問的測試表單只能在本地計算機上訪問(localhost)。

但您仍然可以通過其他工具(如soapUI)在Internet上測試Web服務。 這個工具對我來說可以通過互聯網測試web服務。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM