根据WSDL生成代理类方式
方式一:
1、使用VS2010提供的工具wsdl.exe由WSDL文件生成cs文件
使用wsdl.exe的/serverInterface选项(或缩写的 /si)指定输入的wsdl文件(注意,如果要转换的wsdl文件中import了其他wsdl文件,则所有文件都应列出,包括使用到的xsd文件也应列出)。输出将是 一个代码文件(默认是C#的,如果需要别的语言,参考MSDN中wsdl.exe的使用说明),其中包含每个 wsdl 绑定的接口。

(上图中ServerInterfaceSample.wsdl文件放在d盘根目录,生成的文件也在跟目录)
示例:假设有ServerInterfaceSample.wsdl
wsdl.exe /si ServerInterfaceSample.wsdl
如果使用Service.xsd作为schema文件,则改为
wsdl.exe /si ServerInterfaceSample.wsdl Service.xsd
方式二:
利用wsdl.exe生成webservice代理类:
根据提供的wsdl生成webservice代理类
1、开始->程序->Visual Studio 2005 命令提示
2、输入如下红色标记部分
D:/Program Files/Microsoft Visual Studio 8/VC>wsdl /language:c# /n:TestDemo /out:d:/Temp/TestService.cs D:/Temp/TestService.wsdl
在d:/Temp下就会产生一个TestService.cs 文件
注意:D:/Temp/TestService.wsdl 是wsdl路径,可以是url路径:http://localhost/Temp/Test.asmx?wsdl
wsdl参数说明:
wsdl.exe <选项> <URL 或路径> <URL 或路径> ...
- 选项 -
<URL 或路径> -
指向 WSDL 协定、XSD 架构或 .discomap 文档的 URL 或路径。
/nologo
取消显示版权标志。
/language:<language>
用于生成的代理类的语言。请从“CS”、“VB”、“JS”、“VJS”、
“CPP”中选择,或者为实现 System.CodeDom.Compiler.CodeDomProvider
的类提供一个完全限定的名称。默认语言为“CS”(CSharp)。
缩写形式为“/l:”。
/sharetypes
打开类型共享功能。此功能针对不同服务之间共享
的相同类型(命名空间、名称和网络签名必须相同)
创建一个具有单一类型定义的代码文件。
请使用 http:// URLs 作为命令行参数来引用
服务,或为本地文件创建一个 discomap 文档。
/verbose
指定 /sharetypes 开关时显示额外信息。
缩写形式为“/v”。
/fields
生成字段而非属性。缩写形式为“/f”。
/order
为粒子成员生成显式顺序标识符。
/enableDataBinding
在所有生成的类型上实现 INotifyPropertyChanged 接口,
以启用数据绑定。缩写形式为“/edb”。
/namespace:<namespace>
生成的代理或模板的命名空间。默认命名空间
为全局命名空间。缩写形式为“/n:”。
/out:<fileName|directoryPath>
生成的代理代码的文件名或目录路径。默认文件名是从
服务名派生的。缩写形式为“/o:”。
/protocol:<protocol>
重写要实现的默认协议。请从“SOAP”、“SOAP12”、
“HttpGet”、“HttpPost”中选择。
/username:<username>
/password:<password>
/domain:<domain>
连接到要求身份验证的服务器时使用的凭据。
缩写形式为“/u:”、“/p:”和“/d:”。
/proxy:<url>
用来处理 HTTP 请求的代理服务器的 URL。
默认为使用系统代理服务器设置。
/proxyusername:<username>
/proxypassword:<password>
/proxydomain:<domain>
连接到要求身份验证的代理服务器时使用的凭据。
缩写形式为“/pu:”、“/pp:”和“/pd:”。
/appsettingurlkey:<key>
在代码生成中用来读取 URL 属性的
默认值的配置项。默认为不从配置
文件中读取。缩写形式为“/urlkey:”。
/appsettingbaseurl:<baseurl>
计算 URL 段时使用的基 URL。
还必须指定 appsettingurlkey 选项。URL 段是
从 appsettingbaseurl 计算
WSDL 文档中的 URL 的相对 URL 的结果。缩写形式为“/baseurl:”。
/parsableerrors
输出错误,其格式与编译器报告的格式类似。
- 高级 -
/server
服务器开关已被否决。请改用 /serverInterface。
使用基于协定的 ASP.NET,为 Xml Web Services 实现
生成抽象类。默认情况下,生成客户端代理
类。
/serverInterface
为 ASP.Net Web 服务的服务器端实现生成
接口。将为 wsdl 文档中的每个绑定生成
一个接口。wsdl 单独实现 wsdl 协定(实现
接口的类在类方法上不应包括下列任意一项:
更改 wsdl 协定的 Web 服务属性或序列化
属性)。缩写形式为“/si”。
/parameters:<file>
从指定的 xml 文件读取命令行选项。这样可以
指定命令行中无法使用的选项,例如选择
生成的异步编程模型类型。有关详细信息,
请参阅工具文档。缩写形式为“/par:”。
根据WSDL生成代理类方式的更多相关文章
- 根据WSDL生成代理类方式(2)
运行开发人员工具提示 输入命令行svcutil http://localhost:8080/Test/TestClassPort?wsdl
- Web Services 根据wsdl生成代理类
生成代理类步骤: 一:找到Visual Studio 的工具文件夹 二:用管理员方式打开本机工具命令提示 三:输入要执行的脚本 wsdl /language:C# /n:xxxx.HermesMobi ...
- 通过WSDL命令,将WSDL生成代理类
VS2010 打开命令行窗口(开始-VS2010--Visual Studio Tools--Visual Studio Command Prompt) 输入: wsdl /l:cs /n:newN ...
- WebService 使用wsdl.exe生成代理类
利用wsdl.exe生成webservice代理类: 根据提供的wsdl生成webservice代理类 1.开始->程序->Visual Studio 2005 命令提示 2.输入如下红色 ...
- 按WSDL信息手动生成代理类
命令行: wsdl /language:c# /n:Entity /out:C:\Users\mengxianming\Desktop\Centrex_IMS_Client.cs C:\Users\m ...
- web sevice 生成代理类及使用
一.生成代理类: VS2008下这样写 wsdl.exe /l:cs /out:D:/ProxyServices.cs http://localhost/WebService.asmx VS2010下 ...
- webservice 生成代理类
webservice的调用方式有两种: 1. 直接在vs ide中通过web引用的方式,将发布于某个位置的web服务引进到工程里面.这种方式基本上会用vs.net的人都会. 2. 通过vs 命令提 ...
- 调用 Https WebService 使用程序自动生成代理类
1 商家提供的WebService接口: https://ws.nciic.org.cn/nciic_ws/services/NciicServices?wsdl 2 在浏览器里打开这个地址,会显示 ...
- 关于IIS寄宿WCF服务,客户端不能生成代理类
我在使用VS2010写好WCF的Web服务后,部署在IIS7.0上,可以在IE9上进行访问,并且能显示XML数据,如下图 然后我在项目的客户端进行服务的添加引用,如下图 VS2010自动生成代理类,但 ...
随机推荐
- 【转】CCUserDefault类深入分析——2013-08-25 22
http://game.dapps.net/gamedev/game-engine/8792.html 另:本章所用Cocos2d-x版本为: 2.1.1 (2013-01-28) 大家好,今天我们来 ...
- Debugging to Understand Finalizer--reference
This post is covering one of the Java built-in concepts called Finalizer. This concept is actually b ...
- 使用OKHttp模拟登陆知乎,兼谈OKHttp中Cookie的使用!
本文主要是想和大家探讨技术,让大家学会Cookie的使用,切勿做违法之事! 很多Android初学者在刚开始学习的时候,或多或少都想自己搞个应用出来,把自己学的十八般武艺全都用在这个APP上,其实这个 ...
- arc项目中使用非arc文件
因为之前没有ARC机制,好多比较好的类库都是使用的非ARC,或是有些大牛还是不喜欢用ARC,封装的类也是非ARC的,想要在自己的ARC项目中使用这些非ARC类库,只需要简单的设置一下就可以了. 1.在 ...
- apktool重打包签名后安装出现“Failure [INSTALL_FAILED_ALREADY_EXISTS]”
一般修改.签名环节不出错的话,可以考虑看是不是包名重复的问题,如果系统中存在相同包名的应用,安装时会报这个错误 就算apk名字变了,但和原来的包名仍是一样的,所以先卸载掉系统里同包名的应用,再尝试安装 ...
- 转:maven报错非法字符:\65279 错误
开发中一个项目很早就报这个错,maven报错非法字符:\65279 错误,今天终于忍无可忍要解决它 :编译java文件的时候,有些java文件报非法字符 \65279错误,在网上找和很多 方法,也试了 ...
- Linux Bash终端快捷键小结
Ctrl + A 定位至行首 Ctrl + E 定位至行尾 Ctrl + U 向前删除至行首 Ctrl + K 向后删除至行尾 Ctrl + L 清屏
- 学习笔记_过滤器概述(过滤器JavaWeb三大组件之一)
过滤器Filter Filter和Lister是Servlet规范里的两个高级特性.不同于Servlet,它们不用于处理客户端请求,只用于对request.response进行修改或者对context ...
- [03] SQL优化
1.SQL优化的实质 充分利用索引: 访问尽量少的数据块: 减少表扫描的I/O次数: 尽量避免全表扫描和其他额外开销: 2.oracle数据库常用的两种优化器 RBO(rule-based-optim ...
- UVA 10795 A Different Task(汉诺塔 递归))
A Different Task The (Three peg) Tower of Hanoi problem is a popular one in computer science. Briefl ...