在VS2008中使用WSE 3.0【轉】 在VS2008中使用WSE 3.0

原文:http://www.cnblogs.com/chenxizhang/archive/2008/07/25/1251626.htmlhtml

在VS2008中使用WSE 3.0

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裏面沒有出現那個上下文菜單而耿耿於懷,仔細看看下面這個目錄中的一些工具吧繼承

image 
WseCertificate3.exe 是對證書進行管理的

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的引用,而後你還須要有證書。這些都是基本的。請參考上面提到的文檔。

相關文章
相關標籤/搜索