web服務這也許是一個非常簡單的問題,但我無法找到一個答案:生成從WSDL
對於客戶端,我需要HOST一個web服務。客戶端發給我一個wsdl文件,web服務應該'執行'。我該如何解決這個問題?我已經生成了任意數量的客戶端 - 惡意軟件,但這是相反的。我可以同時使用ASP.NET 2.0 webservices或Windows Communication Foundation。
web服務這也許是一個非常簡單的問題,但我無法找到一個答案:生成從WSDL
對於客戶端,我需要HOST一個web服務。客戶端發給我一個wsdl文件,web服務應該'執行'。我該如何解決這個問題?我已經生成了任意數量的客戶端 - 惡意軟件,但這是相反的。我可以同時使用ASP.NET 2.0 webservices或Windows Communication Foundation。
生成一個抽象類,基於合同的XML Web服務。 默認爲生成客戶端 代理類。當使用 /參數選項時,該值是包含 「服務器」的 元素。
你可以做svcutil.exe的類似的事情WCF-類似:
svcutil.exe的thewsdl.wsdl /語言:C#/out:ITheInterface.cs(我沒有測試這個) 。
編輯 - 約翰桑德斯在他的回答中贊成WCF方法的好處 - 我也推薦這一點。
您可以使用WSDL工具從微軟到生成服務器的接口和實現這些
這裏是WSDL實用的簡短說明。
Wsdl.exe用 - 實用程序生成的XML Web服務客戶端代碼和XML Web使用ASP.NET從WSDL文件合同,XSD架構 服務 和.discomap 發現文件。該工具可以與disco.exe一起使用。
你可以用這個WSDL(wissd'le)文件做很多事情。
從手工做的WS類使用自動生成的類從Wsdl.exe用
咱們想象爲你的榜樣,你有,這WDSL(從WebServiceX.Net tooked)
到創建一個C#自動生成的代理您轉到您的命令提示符並編寫:
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts http://www.webservicex.net/TranslateService.asmx?wsdl
注意:\ Program Files文件\微軟的SDK \的Windows \ V6.1 \ Bin文件夾,你會發現WSDL:你的C內。EXE或只是做一個DIR/S的內部C:\ Program Files文件\
如果你想Visual Basic中,只是用/語言:VB或/L:VB
/語言: 用於生成的代理類的語言。選擇'CS', 'VB','JS','VJS','CPP'或爲實現System.CodeDom.Compiler.CodeDomProvider的類提供完全限定的名稱。
默認 語言爲'CS'(CSharp)。簡寫形式是'/ l:'。
這個命令會把你的C:\ myProxyScripts放到自動生成的代理中。如果你使用計算機的WSDL文件,只需網址更改爲完整路徑,例如
wsdl /language:cs /protocol:soap /out:C:\myProxyScripts C:\myProxyScripts\myWsdlFile.wsdl
注
:你生成的代理將被稱爲服務名稱,您在我們的示例中指定的那個:
<wsdl:service name="TranslateService">
我希望這可以幫助你,理解WSDL,自動生成的代理,並且你現在可以管理你的一切,以滿足你的客戶的願望。
實際上,您應該使用svcutil.exe而不是wsdl.exe來做到這一點。 WSDL.EXE是Microsoft現在認爲是「遺留」代碼的ASMX Web服務技術的一部分,該代碼不會修正錯誤。
爲現有的類生成WSDL =「自下而上的策略」與現有的WSDL =「自上而下的策略」(Wikipedia)生成類骨架 – JohnB 2012-08-10 00:47:21