原文:http://www.cnblogs.com/chenxizhang/archive/2008/07/25/1251626.htmlhtml
WSE 是微軟推出的一套有關Web Service的加強包,目前最新版本是WSE 3.0,由於後續有WCF技術,因此估計WSE是不會再升級了。web
WSE 3.0的安裝時能夠選擇5種類型,若是選擇visual studio developer的話,那麼它會在vs2005中添加一些菜單支持。app
關於WSE ,這裏有一個比較好的PPT,能夠參考一下工具
DEV371 Visual Studio 2005 + WSE 3.0 Web Services開發的強大平臺post
下面這篇文檔也很好url
http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/ServiceStation0509.mspx?mfr=true代理
但我這篇博客不是討論這些,而是解決一個問題,就是如何讓VS 2008支持WSE 3.0?不少朋友問到這個問題,答案是:VS2008不支持。緣由前面就說過了,合久必分,分久必合,之後是WCF一統江湖。htm
但再大的困難也嚇不倒英雄的中國兒女,在個人不懈探索下,找到以下方法能夠實現。blog
請不要總對vs2008裏面沒有出現那個上下文菜單而耿耿於懷,仔細看看下面這個目錄中的一些工具吧繼承
WseConfigEditor3.exe 是對有關項目啓用WSE支持的,它會改寫相關的config文件(例如app.config或者web.config)
WseWsdl3.exe 是產生基於wse 3.0的那個代理類的。
瞭解上面的三個工具,你就知道應該有門了啊。
還有一個GenerateProxy.bat是我本身寫的,裏面有以下的代碼
wsewsdl3 http://localhost:3375/Wse35/Service.asmx?wsdl /out:C:\Reference.cs /type:webClient
注意,這裏的type必須是webClient,具體能夠查看一下該工具的幫助
還要注意的是,要把生成的文件中類的繼承從
System.Web.Services.Protocols.SoapHttpClientProtocol改爲
Microsoft.Web.Services3.WebServicesClientProtocol 而後就能夠和在vs2005裏面同樣地使用了,大體客戶端代碼以下
Service proxy = new Service();
proxy.SetClientCredential<Microsoft.Web.Services3.Security.Tokens.UsernameToken>(new Microsoft.Web.Services3.Security.Tokens.UsernameToken("chenxizhang", "password"));
proxy.SetPolicy("ClientPolicy");
MessageBox.Show(proxy.HelloWorld());
當前,在此以前,你還須要在項目中添加Microsoft.Web.Service3的引用,而後你還須要有證書。這些都是基本的。請參考上面提到的文檔。