一、生成代理类

对于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下面的方法。

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

原文路径 http://www.cnblogs.com/dengxinglin/p/3333531.html

文章URL
http://www.cnblogs.com/poissonnotes/archive/2010/05/16/1736728.html
http://blog.csdn.net/wqd6485309/article/details/20714971
http://www.cnblogs.com/dengxinglin/p/3333531.html

转载于:https://www.cnblogs.com/chxl800/p/6102372.html

Web Serveice服务代理类生成及编译相关推荐

  1. 在net.tcp模式下,由SvcUtil.exe生成代理类文件和配置文件(转)

    WCF服务调用可以采用两个方法,由工具SvcUtil.exe生成本地代理服务类和配置文件方式,或者采用ChannelFactory直接创建服务代理对象.本文主要采用前面一种方式来进行. SvcUtil ...

  2. 怎么通过WSDL命令,将WSDL生成代理类

    项目场景: 调用webservice接口时,想要把webservice变成代理类,那么他的好处是什么呢?其实好处还挺多,就是如果我们我们不把它变成代理类时,每次修改了webservice的地址的话,还 ...

  3. 解析利用wsdl.exe生成webservice代理类的详解

    利用wsdl.exe生成webservice代理类: 根据提供的wsdl生成webservice代理类 1.开始->程序->Visual Studio 2010 命令提示 2.输入如下红色 ...

  4. JDK和cglib生成代理类

    关于动态代理和静态代理 当一个对象(客户端)不能或者不想直接引用另一个对象(目标对象),这时可以应用代理模式在这两者之间构建一个桥梁–代理对象. 按照代理对象的创建时期不同,可以分为两种: 静态代理: ...

  5. spring service ,controller反向代理生成AOP代理类流程

    一.在applicationContext的beanFactory.preInstantiateSingletons方法中,会初始化所有的单例BEAN. 二. 1.AbstractAutowireCa ...

  6. 查看动态代理生成的代理类字节码

    文章目录 动态代理的知识介绍 用java proxy实现动态代理 查看生成的class代理类字节码 创建代理的源码 动态代理的知识介绍 一.动态代理和Class字节码的关系 动态代理有什么作用及应用场 ...

  7. 【gSOAP】gSOAP生成服务代理和对象C语言代码示例

    用gSOAP实现一个简单四则运算的服务器及代理. Table of Contents 头文件 编写头文件calc.h 生成头文件calc.h wsdl2h使用方法 生成服务端和客户端(代理)程序 so ...

  8. JAVA基础加强(张孝祥)_类加载器、分析代理类的作用与原理及AOP概念、分析JVM动态生成的类、实现类似Spring的可配置的AOP框架...

    1.类加载器 ·简要介绍什么是类加载器,和类加载器的作用 ·Java虚拟机中可以安装多个类加载器,系统默认三个主要类加载器,每个类负责加载特定位置的类:BootStrap,ExtClassLoader ...

  9. 服务引用代理类_在代理类中引用动态代理

    服务引用代理类 在Stackoverflow中有一个有趣的问题 ,关于Spring Bean如何获​​得对由Spring创建的代理的引用以处理事务,Spring AOP,缓存,异步流等.需要对代理的引 ...

最新文章

  1. 使用ASP.NET操作IIS7中使用应用程序
  2. 聚类(part2)--经典聚类算法
  3. IOS之代理文字点击变大变小
  4. Sql Server系列:视图
  5. Something about Giraffe (II)
  6. c语言自己编译自己,TCC研究(一): Tiny C Compiler最小的C语言编译器,自己编译自己...
  7. 二手车没有车险能过户吗?
  8. RFID中的天线技术-应用及设计现状
  9. nf_regester
  10. 做管理,“重人情”还是“重制度”?
  11. Access Token是做什么的
  12. 客户端软件升级一般方案
  13. 微信小程序:宝宝起名神器微信小程序
  14. win7锁定计算机自动关机,windows7怎么设置电脑自动关机_win7如何自动关机
  15. css里的deg,CSS角度单位:deg、grad、rad、turn
  16. border-radius没有效果
  17. python 菜品识别_菜品识别-python
  18. windows系统库
  19. Linux中创建快捷方式
  20. jdk-7u80-linux-i586.tar.gz

热门文章

  1. 【Boost】系列01:时间与日期
  2. 【IBM Tivoli Identity Manager 学习文档】3 系统部署
  3. ARM的位置无关程序设计在Bootloader中的应用
  4. Linux下屏蔽Ctrl+Alt+Delete
  5. 上交2017计算机专业就业,上海交通大学计算机科学与工程系(CSE)
  6. 压测接口线程数设置_ZAT掌门性能压测巡检系统实战和落地
  7. c语言输入函数有什么作用,c语言的输入函数有哪些
  8. 找java培训机构有哪些参考标准
  9. 软件测试培训分享:Bug的作用有多大?
  10. 参加web前端开发培训具体要学什么内容