簡體   English   中英

從wsdl生成web服務

[英]Generate webservice from wsdl

這可能是一個非常簡單的問題,但我無法找到答案:

對於客戶端,我需要提供Web服務。 客戶端向我發送了一個web服務應該“實現”的wsdl文件。 我該怎么做? 我已經生成了任意數量的客戶端rpoxies,但這是另一種方式。 我可以使用ASP.NET 2.0 Web服務或Windows Communication Foundation。

wsdl.exe / server

根據契約為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.

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