C:\Program Files\Microsoft Visual Studio 9.0\VC>
wsdl /n:TestWebService /o:c:\temp\TestMyServices.cs http://localhost/MyWebService/Service1.asmx?wsdl
或
wsdl /language:cs /n:TestDemo /out:d:\Temp\TestService.cs D:\Temp\TestService.wsdl
1./n:命名空間
2./o:輸出目錄
3.URL或檔案物理目錄
class Program
{
static void Main(string[] args)
{
Service1 svs = new Service1();
svs.SubtractCompleted += new SubtractCompletedEventHandler(svs_SubtractCompleted);
svs.SubtractAsync(1.1, 2.2);
//double dRes= svs.Subtract(1.1, 2.2);
//Console.WriteLine("WebService結果: "+dRes);
for (int i = 0; i < 10; i++)
{
Console.WriteLine(i.ToString());
System.Threading.Thread.Sleep(20);
}
Console.ReadKey();
}
static void svs_SubtractCompleted(object sender, SubtractCompletedEventArgs e)
{
Console.WriteLine("WebService非同步呼叫結果: " + e.Result.ToString() );
}
}
wsdl.exe -
使用 ASP.NET,根據 WSDL 協定檔案、XSD 架構和 .discomap
發現文檔,為 Xml Web Services 用戶端和 Xml Web Services 產生
代碼的工具 + 生產力。此工具可以與 disco.exe 一起使用。
wsdl.exe <選項> <URL 或路徑> <URL 或路徑> ...
- 選項 -
<URL 或路徑> -
指向 WSDL 協定、XSD 架構或 .discomap 文檔的 URL 或路徑。
/nologo
取消顯示著作權標誌。
/language:<language>
用於產生的代理類的語言。請從“CS”、“VB”、“JS”、“VJS”、
“CPP”中選擇,或者為實現 System.CodeDom.Compiler.CodeDomProvider
的類提供一個完整名稱。預設語言為“CS”(CSharp)。
縮寫形式為“/l:”。
/sharetypes
開啟類型共用功能。此功能針對不同服務之間共用
的相同類型(命名空間、名稱和網路簽名必須相同)
建立一個具有單一類型定義的代碼檔案。
請使用 http:// URLs 作為命令列參數來引用
服務,或為本地檔案建立一個 discomap 文檔。
/verbose
指定 /sharetypes 開關時顯示額外資訊。
縮寫形式為“/v”。
/fields
產生欄位而非屬性。縮寫形式為“/f”。
/order
為粒子成員產生顯式順序標識符。
/enableDataBinding
在所有產生的類型上實現 INotifyPropertyChanged 介面,
以啟用資料繫結。縮寫形式為“/edb”。
/namespace:<namespace>
產生的代理或模板的命名空間。預設命名空間
為全域命名空間。縮寫形式為“/n:”。
/out:<fileName|directoryPath>
產生的代理代碼的檔案名稱或目錄路徑。預設檔案名稱是從
服務名派生的。縮寫形式為“/o:”。
/protocol:<protocol>
重寫要實現的預設協議。請從“SOAP”、“SOAP12”、
“HttpGet”、“HttpPost”中選擇。
/username:<username>
/password:<password>
/domain:<domain>
串連到要求身分識別驗證的伺服器時使用的憑據。
縮寫形式為“/u:”、“/p:”和“/d:”。
/proxy:<url>
用來處理 HTTP 要求的Proxy 伺服器的 URL。
預設為使用系統代理程式伺服器設定。
/proxyusername:<username>
/proxypassword:<password>
/proxydomain:<domain>
串連到要求身分識別驗證的Proxy 伺服器時使用的憑據。
縮寫形式為“/pu:”、“/pp:”和“/pd:”。
/appsettingurlkey:<key>
在代碼產生中用來讀取 URL 屬性的
預設值的配置項。預設為不從配置
檔案中讀取。縮寫形式為“/urlkey:”。
/appsettingbaseurl:<baseurl>
計算 URL 段時使用的基底 URL。
還必須指定 appsettingurlkey 選項。URL 段是
從 appsettingbaseurl 計算
WSDL 文檔中的 URL 的相對 URL 的結果。縮寫形式為“/baseurl:”。
/parsableerrors
輸出錯誤,其格式與編譯器報告的格式類似。
- 進階 -
/server
伺服器開關已被否決。請改用 /serverInterface。
使用基於協定的 ASP.NET,為 Xml Web Services 實現
產生抽象類別。預設情況下,產生用戶端代理
類。
/serverInterface
為 ASP.Net Web 服務的伺服器端實現產生
介面。將為 wsdl 文檔中的每個綁定產生
一個介面。wsdl 單獨實現 wsdl 協定(實現
介面的類在類方法上不應包括下列任意一項:
更改 wsdl 協定的 Web 服務屬性或序列化
屬性)。縮寫形式為“/si”。
/parameters:<file>
從指定的 xml 檔案讀取命令列選項。這樣可以
指定命令列中無法使用的選項,例如選擇
產生的非同步編程模型類型。有關詳細資料,
請參閱工具文檔。縮寫形式為“/par:”。