本文链接地址:http://www.cnblogs.com/dengxinglin/p/3334158.html

一、生成代理类

对于web service服务和wcf的webservice服务,我们都可以通过一个代理类来调用。

怎么写那个代理类呢?通过一个工具生成即可!!微软为我们提供了一个wsdl.exe的Web服务描述语言工具,wsdl.exe从 WSDL 协定文件、XSD 架构和 .discomap 发现文档为 XML Web services 和 XML Web services 客户端生成代码。我们不需要写任何代码,只要使用这个工具就可以自动生成的代理类文件。

那如何使用这个工具呢?

这个工具是在命令行下面执行的,我们只要打开VS的命令提示工具,我的英文版vs2010是打开方法是:开始菜单--》Microsoft Visual Studio 2010--》Visual Studio Tools--》Visual Studio Command Prompt (2010),我输入了如下命令

wsdl /l:cs /n:mynamespace /out:d:\weather.cs  http://www.webservicex.net/globalweather.asmx?WSDL

/l:cs是/language:cs是简写, 为输出语言,支持输出CS(默认)、VB (Visual Basic)、JS (Jscript) 或 VJS (Visual J#) 语言

/n:mynamespace 是生成代理类所使用的命名空间

/out:表示输出文件的路径了,这表示在输出文件放在D盘,文件名为weather.cs

最后那个就是web service的wsdl地址了,按回车在D盘为我生成weather.cs代理类。

更多wsdl的命令可以去微软的msdn网站上:http://msdn.microsoft.com/zh-cn/library/7h3ystb6(v=vs.80).aspx

二、编译代理类

wsdl工具非常强大,为我生成了一个代理类,把该代理类放到我的项目用,就可以直接去调用了。可是有很多个web service,这样生成了很多的代理类文件。这需要建立一个项目,把这些代理类都添加进去,之后编译生成一个dll,供别的项目直接调用!把那些代理类都添加到一个项目中去编译成一个dll,这些微软也提供了一个csc的工具。实现了把代码文件编译成dll。

和上面一样,csd也是在命令行下面运行的。打开Visual Studio 命令提示,输入

csc /t: library /out:d:\webservice.dll  d:\weather.cs d:\weather2.cs

/t:表示以类库方式输出的

/out:输出的dll路径

d:\weather.cs d:\weather2.cs是包含的两个代理类文件

csc.exe是一个功能强大的编译,更多关于csc.exe的使用:http://msdn.microsoft.com/zh-cn/library/78f4aasd.aspx

三、使用

生成了webservice.dll的文件,在项目中,你只需要添加对webservice.dll的引用,并需要引用system.web.services,代理类中使用了system.web.services下面的方法。

之后你就可以像调用本地的代码一样使用了。

我把上面这两个命令行工具做成了一个可视化的工具:

web代理类生成工具 

本文链接地址:http://www.cnblogs.com/dengxinglin/p/3334158.html

Web Serveice服务代理类生成及编译的更多相关文章

  1. Web Service代理类生成工具

    本文原文连接:http://www.cnblogs.com/dengxinglin/p/3334158.html 之前一篇文章写 Web Service服务代理类生成及编译 , 通过命令行的方式可以直 ...

  2. WCF服务代理类-学习

    类:ServiceDescriptionImporter Class 公开一种为 XML Web services 生成客户端代理类的方法. 地址:https://docs.microsoft.com ...

  3. .net webservices 代理类生成命令

    wsdl.exe /l:cs /out:d:/WxPayment.cs http://localhost/WxPayment.asmx

  4. webservice 生成代理类

    webservice的调用方式有两种: 1. 直接在vs ide中通过web引用的方式,将发布于某个位置的web服务引进到工程里面.这种方式基本上会用vs.net的人都会.   2. 通过vs 命令提 ...

  5. 客户端使用自定义代理类访问WCF服务 z

    通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或 web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否 ...

  6. JDK动态代理[4]----ProxyGenerator生成代理类的字节码文件解析

    通过前面几篇的分析,我们知道代理类是通过Proxy类的ProxyClassFactory工厂生成的,这个工厂类会去调用ProxyGenerator类的generateProxyClass()方法来生成 ...

  7. 客户端使用自定义代理类访问WCF服务

    通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简 ...

  8. vs2013 手动生成webservice代理类wsdl

    第一步: 第二步: 第三步: 至此wsdl代理类生成成功!

  9. 深入理解Spring AOP之二代理对象生成

    深入理解Spring AOP之二代理对象生成 spring代理对象 上一篇博客中讲到了Spring的一些基本概念和初步讲了实现方法,当中提到了动态代理技术,包含JDK动态代理技术和Cglib动态代理 ...

随机推荐

  1. css 文本溢出显示省略号

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...

  2. 每天一个linux命令(29):chgrp命令

    在lunix系统里,文件或目录的权限的掌控以拥有者及所诉群组来管理.可以使用chgrp指令取变更文件与目录所属群组,这种方式采用群组名称或群组识别码都可以.Chgrp命令就是change group的 ...

  3. iReport 中使用 Chart 图

    iReport 中使用 Chart 图 SSH2项目中需要引入如下两个jar包: jfreechart-1.0.12.jar jcommon-1.0.15.jar 从 iReport 的安装目录下搜索 ...

  4. JavaScript起点(严格模式深度了解)

    格模式(Strict Mode)是ECMAScript5新增的功能,目前所有的主流浏览器的最新版本——包括IE10与Opera12——都支持严格模式,感兴趣的朋友可以了解下啊,希望本文对你有所帮助 严 ...

  5. CSS选择器、CSS hack及CSS执行效率

    主要内容: 1.CSS选择器.优先级与匹配原理 2. CSS 引入的方式有哪些 ? link 和 @import 的区别是 ? 3.CSS hack 4.如何书高效CSS  一.CSS选择器.优先级与 ...

  6. 了解canvas

    目录 [1]HTML属性[2]CSS样式 [3]API 坐标 填充和描边 阴影 绘制矩形 绘制路径 绘制文本 绘制图像 使用图像 变换 合成 [4]DEMO 前面的话 canvas元素是HTML5最受 ...

  7. JAVA设计模式《二》

    上一篇为大家介绍了一下设计模式中的责任链模式,本篇为大家介绍一下关于设计模式中的单例模式与模板方法模式.单例模式的作用在于,保证应用中某个实例有且只有一个,单例模式又被分为:饱汉模式与饿汉模式,两者的 ...

  8. poj 2195 Going Home

    /* 做网络流的题建图真的是太重要了! 本题是将人所在的位置和房子所在的位置建立边的联系,其中man到house这一条边的流量为 1, 费用为两者的距离 而方向边的流量为 0, 费用为正向边的相反数( ...

  9. 【原创】Matlab.NET混合编程技巧之找出Matlab内置函数

                  本博客所有文章分类的总目录:[总目录]本博客博文总目录-实时更新    Matlab和C#混合编程文章目录 :[目录]Matlab和C#混合编程文章目录 Matlab与.N ...

  10. (转)rlwrap真是一个好东西

    在Linux下面使用sqlplus很不爽,上下键,退格键都不能用,严重降低生产效率. 某一天终于发现了这个rlwrap这个好东西,特写此文记录. 下载地址如下: http://utopia.knowa ...