![](/img/trans.png)
[英]Generate WebService producer from WSDL in Visual Studio 2005
[英]Generate webservice from wsdl
這可能是一個非常簡單的問題,但我無法找到答案:
對於客戶端,我需要提供Web服務。 客戶端向我發送了一個web服務應該“實現”的wsdl文件。 我該怎么做? 我已經生成了任意數量的客戶端rpoxies,但這是另一種方式。 我可以使用ASP.NET 2.0 Web服務或Windows Communication Foundation。
根據契約為XML Web服務生成抽象類。 默認是生成客戶端代理類。 使用/ parameters選項時,此值是包含“server”的元素。
您可以使用svcutil.exe為WCF做類似的事情,例如:
svcutil.exe thewsdl.wsdl / language:c#/out:ITheInterface.cs(我沒有測試過這個)。
編輯 - 約翰桑德斯在他的答案中提出了一個很好的觀點,贊成WCF方法 - 我也推薦這個。
實際上,您應該使用svcutil.exe執行此操作,而不是使用wsdl.exe執行此操作。 WSDL.EXE是ASMX Web服務技術的一部分,Microsoft現在認為它是“遺留”代碼,不會修復錯誤。
您可以使用該WSDL(wissd'le)文件做很多事情。
從手動執行WS類以使用wsdl.exe中的Auto Generated類
讓我們想象一下 ,對於你的例子,你有這個WDSL (取自WebServiceX.Net )
要創建一個C#自動生成的代理,您可以轉到命令提示符並寫入:
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl
注意 :在C:\\ Program Files \\ Microsoft SDKs \\ Windows \\ v6.1 \\ Bin文件夾中,您可以找到wsdl.exe或只在C:\\ Program Files中執行dir / s
如果你想在Visual Basic中 ,只需使用/ language:vb或/ l:vb
/ language:用於生成的代理類的語言。 選擇'CS','VB','JS','VJS','CPP'或為實現System.CodeDom.Compiler.CodeDomProvider的類提供完全限定名稱。
默認語言為“CS”(CSharp)。 簡稱是'/ l:'。
此命令將在C:\\ myProxyScripts中放入自動生成的代理。
例如,如果您在計算機中使用WSDL文件 ,只需將URL更改為 完整路徑
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl
注意:您的Generated代理將被稱為服務名稱 ,在我們的示例中,您指定的服務名稱為:
<wsdl:service name="TranslateService">
我希望這可以幫助您,理解WSDL,自動生成的代理,並且您現在可以管理最終的所有內容以滿足您的客戶需求。
您可以使用microsoft的wsdl實用程序生成服務器接口並實現它們
以下是WSDL實用程序的簡短描述。
wsdl.exe - 從WSDL合同文件,XSD架構和.discomap發現文檔使用ASP.NET為xml Web服務客戶端和xml Web服務生成代碼的實用程序。 此工具可與disco.exe一起使用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.