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

在VS2008中使用WSE 3.0

WSE 是微软推出的一套有关Web Service的增强包,目前最新版本是WSE 3.0,因为后续有WCF技术,所以估计WSE是不会再升级了。

WSE 3.0的安装时可以选择5种类型,如果选择visual studio developer的话,那么它会在vs2005中添加一些菜单支持。

关于WSE ,这里有一个比较好的PPT,可以参考一下

DEV371 Visual Studio 2005 + WSE 3.0 Web Services开发的强大平台

下面这篇文档也很好

http://www.microsoft.com/china/MSDN/library/WebServices/WebServices/ServiceStation0509.mspx?mfr=true

但我这篇博客不是讨论这些,而是解决一个问题,就是如何让VS 2008支持WSE 3.0?很多朋友问到这个问题,答案是:VS2008不支持。原因前面就说过了,合久必分,分久必合,以后是WCF一统江湖。

但再大的困难也吓不倒英雄的中国儿女,在我的不懈探索下,找到如下方法可以实现。

请不要总对vs2008里面没有出现那个上下文菜单而耿耿于怀,仔细看看下面这个目录中的一些工具吧

 
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的引用,然后你还需要有证书。这些都是基本的。请参考上面提到的文档。

在VS2008中使用WSE 3.0【转】的更多相关文章

  1. 【转载】在VS2008中使用WSE 3.0过程全记录

    WSE全称是Web Service Enhancement,提供了更好的安全性实现,以及大对象传输的设计. 有关WSE的一些介绍,如果不清楚,可以参考下面的链接 官方介绍:http://www.mic ...

  2. VS2008中开发智能设备程序的一些总结

    原文链接:http://blog.csdn.net/citybug_nj/article/details/2598705 程序中包括四个部分: 系统配置 这个部分用来配置系统中的相关参数,参数包括数据 ...

  3. 在VS2008中配置WDK7600驱动开发环境

    网上这类资料多如牛毛,也许很多人都是转来转去,却很有人去真正的测试,有时候感觉确实对他人也是一种误导. 这里是我自己在VS2008 + WDK7600.16385.0 + DDKWizard配置自己的 ...

  4. 百度编辑器ueditor 在vs2008中的使用方法

    个人觉得百度编辑器ueditor还是不错的,虽然出生的时间比较短,但某些方面相比其它富文本编辑器更优秀,免费.可定制等等. 由于在官方下载的ueditor包是在vs2012下开发的,可以在vs2010 ...

  5. vs2008中使用gdi+的设置

    vs2008中使用gdi+ 1.新建一个mfc工程 2.在stdafx.h文件中加入以下几行语句: #include <gdiplus.h>                //#pragm ...

  6. VS2008中开发手持终端程序(PDA软件)总结

    VS2008中开发手持终端程序(PDA手机软件)的项目总结 1程序结构 程序中包括四个部分: 1.系统配置 这个部分用来配置系统中的相关参数,参数包括数据库信息和串口的配置信息.这部分的主要技术是XM ...

  7. VS2008中开发智能设备程序的一些总结收藏

    结合前几日开发的<全国大坝基础数据库采集端>中的PDA程序开发过程,对VS2008开发智能设备上的程序做个小总结. 1         程序结构 程序中包括四个部分: 1. 系统配置 这个 ...

  8. 在VS2008中加入ExtJS智能提示

    在VS2008中加入ExtJS智能提示   在VS2008中加入ExtJS智能提示—>(方法一) 关于如何在VS2008中加入ExtJS的智能提示的方法,我这里有2种方法,相对于第二种方法,第一 ...

  9. VS2008中C++打开Excel(MFC)

    VS2008中C++打开Excel(MFC)——摘自网络,并加以细化 第一步:建立project(新建项目) 英文版 中文版 选择C++下的MFC Application(基于对话框的项目) 英文版 ...

随机推荐

  1. fedora修改主目录文件名为英文

           在gnome-terminal里面能够显示中文的,但是在文本终端里面中文都是不能显示的,是一个小小的正方形.因此可以只把主目录文件名换成英文的,方便文本终端命令输入,而其他的一些地方还是 ...

  2. 20154312曾林 - Exp1 PC平台逆向破解

    1.逆向及Bof基础实践说明 1.1-实践目标 对象:pwn1(linux可执行文件) 目标:使程序执行另一个代码片段:getshell 内容: 手工修改可执行文件,改变程序执行流程,直接跳转到get ...

  3. ng-深度学习-课程笔记-5: 深层神经网络(Week4)

    1 深度L层神经网络( Deep L-layer Neural network ) 针对具体问题很难判断需要几层的网络,所以先试试逻辑回归是比较合理的做法,然后再试试单隐层,把隐层数量当作一个超参数, ...

  4. PHP文件锁 解决并发问题

    使用多线程或是多进程时. 难免会遇到并发问题. 处理简单的并发可以使用这个办法来解决 flock($fp = fopen($lock, 'w+'), LOCK_EX | LOCK_NB)   or e ...

  5. tomcat_日志打印格式问题

    1.需要在Catalina/conf/server.xml中设置一下:将文件中这一段的注释去掉(如下),然后将pattern的值改为combined ,这个模式下记录的日志比较详细.          ...

  6. postman 做接口测试

    Postman 之前是作为Chrome 的一个插件,现在要下载应用才能使用. 以下是postman 的界面: 各个功能区的使用如下: 快捷区: 快捷区提供常用的操作入口,包括运行收藏夹的一组测试数据, ...

  7. 20145118 《Java程序设计》第5周学习总结 教材学习内容总结

    20145118 <Java程序设计>第5周学习总结 教材学习内容总结 1.Java中所有错误都会被打包成对象,可以通过try.catch语法对错误对象作处理,先执行try,如果出错则跳出 ...

  8. 20145339顿珠达杰 《网络对抗技术》 逆向与Bof基础

    目的 通过一些方法,使能够运行本不该被运行的代码部分,或得到shell的使用: 将正常运行代码部分某处call后的目标地址,修改为另一部分我们希望执行.却本不应该执行的代码部分首地址(这需要我们有一定 ...

  9. stm32 Flash读写独立函数[库函数]

    一. stm32的FLASH分为 1.主存储块:用于保存具体的程序代码和用户数据,主存储块是以页为单位划分的, 一页大小为1KB.范围为从地址0x08000000开始的128KB内. 2.信息块   ...

  10. HDU6447 网络赛 YJJ's Salesman(DP + 线段树)题解

    思路:若用dp[i][j]表示走到(i,j)的最大值,那么dp[i][j] = max(dp[i - 1][j],dp[i][j - 1],dp[i - 1][j - 1] + v),显然O(n^2) ...