Web Serveice服务代理类生成及编译
本文链接地址: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服务代理类生成及编译的更多相关文章
- Web Service代理类生成工具
本文原文连接:http://www.cnblogs.com/dengxinglin/p/3334158.html 之前一篇文章写 Web Service服务代理类生成及编译 , 通过命令行的方式可以直 ...
- WCF服务代理类-学习
类:ServiceDescriptionImporter Class 公开一种为 XML Web services 生成客户端代理类的方法. 地址:https://docs.microsoft.com ...
- .net webservices 代理类生成命令
wsdl.exe /l:cs /out:d:/WxPayment.cs http://localhost/WxPayment.asmx
- webservice 生成代理类
webservice的调用方式有两种: 1. 直接在vs ide中通过web引用的方式,将发布于某个位置的web服务引进到工程里面.这种方式基本上会用vs.net的人都会. 2. 通过vs 命令提 ...
- 客户端使用自定义代理类访问WCF服务 z
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或 web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否 ...
- JDK动态代理[4]----ProxyGenerator生成代理类的字节码文件解析
通过前面几篇的分析,我们知道代理类是通过Proxy类的ProxyClassFactory工厂生成的,这个工厂类会去调用ProxyGenerator类的generateProxyClass()方法来生成 ...
- 客户端使用自定义代理类访问WCF服务
通常在客户端访问WCF服务时,都需要添加服务引用,然后在客户端app.config或web.config文件中产生WCF服务的客户端配置信息.若是每添加一个服务都是这样做,这样势必会将比较麻烦,能否简 ...
- vs2013 手动生成webservice代理类wsdl
第一步: 第二步: 第三步: 至此wsdl代理类生成成功!
- 深入理解Spring AOP之二代理对象生成
深入理解Spring AOP之二代理对象生成 spring代理对象 上一篇博客中讲到了Spring的一些基本概念和初步讲了实现方法,当中提到了动态代理技术,包含JDK动态代理技术和Cglib动态代理 ...
随机推荐
- SSH+JPA查询两个数据库
1.第一步导包: 1.struts2包: 2.spring包: 3.hibernate包: 4.数据库包: 2.web.xml配置 3.struts2的配置: 1.struts.xml 2.s001. ...
- java连接数据库的模糊查询
1:模糊查询是比较常见的一种查询方式,例如在订单表中,包含有订单的具体日期.如果要查询某年某月的订单信息,最好的方式就是使用模糊查询.进行模糊查询需要使用关键字LIKE.在使用LIKE关键字进行模糊查 ...
- 设置Form窗体中的控件的属性
借助于反射,可获取当前窗体中的所有控件,根据需要设置它们的属性. Font defaultFont = new System.Drawing.Font("Microsoft Sans Ser ...
- Ubuntu 14.04上安装caffe
本来实在windows 10上尝试安装caffe,装了一天没装上,放弃; 改在windows上装ubuntu的双系统,装了一个下午,不小心windows的系统盘被锁死了,也不会unlock?只好含泪卸 ...
- Java多线程系列--“基础篇”02之 常用的实现多线程的两种方式
概要 本章,我们学习“常用的实现多线程的2种方式”:Thread 和 Runnable.之所以说是常用的,是因为通过还可以通过java.util.concurrent包中的线程池来实现多线程.关于线程 ...
- Android基于mAppWidget实现手绘地图(六)–如何展示地图对象
为了展示选中的点,你需要完成以下步骤: 1.创建或者获得一个已经存在的图层 2.创建代表选中点的地图对象 3.把地图对象添加到图层 创建新图层 使用以下代码片段创建图层 int COFFEE_SHOP ...
- Deep learning:四十(龙星计划2013深度学习课程小总结)
头脑一热,坐几十个小时的硬座北上去天津大学去听了门4天的深度学习课程,课程预先的计划内容见:http://cs.tju.edu.cn/web/courseIntro.html.上课老师为微软研究院的大 ...
- 使用 SVG 实现一个漂亮的页面预加载效果
今天我们要为您展示如何使用 CSS 动画, SVG 和 JavaScript 创建一个简单的页面预加载效果.对于网站来说,这些预载入得画面提供了一种创造性的方法,使用户在等待内容加载的时候不会那么无聊 ...
- 在Mysql中Using filesort代表什么意思?
在Mysql中使用explain来查看sql执行信息时,经常会看到Using filesort.那么Using filesort在MySQL中代表什么意思呢? 有人会说是外部排序,其实是不对或者不准确 ...
- UWP开发入门(二十三)——WebView
本篇讨论在UWP开发中使用WebView控件时常见的问题,以及一些小技巧. WebView是实际开发中常用的控件,很多大家抱怨的套网页的应用都是通过WebView来实现的.这里要澄清一个问题,套网页的 ...