方式一:

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生成代理类方式的更多相关文章

  1. 根据WSDL生成代理类方式(2)

    运行开发人员工具提示 输入命令行svcutil http://localhost:8080/Test/TestClassPort?wsdl

  2. Web Services 根据wsdl生成代理类

    生成代理类步骤: 一:找到Visual Studio 的工具文件夹 二:用管理员方式打开本机工具命令提示 三:输入要执行的脚本 wsdl /language:C# /n:xxxx.HermesMobi ...

  3. 通过WSDL命令,将WSDL生成代理类

    VS2010 打开命令行窗口(开始-VS2010--Visual Studio Tools--Visual Studio Command Prompt) 输入: wsdl  /l:cs /n:newN ...

  4. WebService 使用wsdl.exe生成代理类

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

  5. 按WSDL信息手动生成代理类

    命令行: wsdl /language:c# /n:Entity /out:C:\Users\mengxianming\Desktop\Centrex_IMS_Client.cs C:\Users\m ...

  6. web sevice 生成代理类及使用

    一.生成代理类: VS2008下这样写 wsdl.exe /l:cs /out:D:/ProxyServices.cs http://localhost/WebService.asmx VS2010下 ...

  7. webservice 生成代理类

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

  8. 调用 Https WebService 使用程序自动生成代理类

    1 商家提供的WebService接口:  https://ws.nciic.org.cn/nciic_ws/services/NciicServices?wsdl 2 在浏览器里打开这个地址,会显示 ...

  9. 关于IIS寄宿WCF服务,客户端不能生成代理类

    我在使用VS2010写好WCF的Web服务后,部署在IIS7.0上,可以在IE9上进行访问,并且能显示XML数据,如下图 然后我在项目的客户端进行服务的添加引用,如下图 VS2010自动生成代理类,但 ...

随机推荐

  1. lsb_release 提示命令不存在

    1. 报错信息 bash: lsb_release: command not found 2. 问题原因 未安装 lsb_release 命令 3. 解决方法 用 yum 命令安装 lsb_relea ...

  2. Cygwin下安装vim后,vim中退格键无法正常使用

    问题描述: 在Cygwin中安装完vim后 进入vim,发现上下左右键和退格键都无法正常使用 问题分析: 首先考虑到的就是缺少vim的配置文件,首先查看/etc路径下是否有vim的配置文件 admin ...

  3. config文件中可以配置查询超时时间

    web.config配置数据库连接 第一种:获取连接字符串 首先要定义命名空间 system.configuration 1.  string connstr= string constr = Con ...

  4. nofollow标签如何使用

    “nofollow”的意思是不传递权重,向网站站长提供了一种方式,即告诉搜索引擎“不要追踪此网页上的链接”或“不要追踪此特定链接”. nofllow的形式 1.<meta name=" ...

  5. SqlServer Change Data Capture(CDC)数据变更捕获

    最近在使用SqlServer2008r2数据库做系统的时候,在某些重要的.经常涉及到修改的表上,想加上一些恢复机制,一开始想找找看看有没有类似Oracle数据库闪回那样的功能,后来发现CDC的功能可以 ...

  6. TransactionScope事务

    一个错误的理解就是Complete()方法是提交事务的,这是错误的,事实上,它的作用的表示本事务完成,它一般放在try{}的结尾处,不用判断前台操作是否成功,如果不成功,它会自己回滚. #region ...

  7. (六)Hibernate 映射类型

    所有项目导入对应的hibernate的jar包.mysql的jar包和添加每次都需要用到的HibernateUtil.java 第一节:基本类型映射 例子: hibernate.cfg.xml < ...

  8. Jquery为下拉列表动态赋值与取值,取索引

    接触前端也不久对jquery用的也只是皮毛,写过去感觉能复用的发出来,大家指点下 1.下拉列表动态赋值 function initddlYear() { var mydate = new Date() ...

  9. VBA 打印设置相关属性及方法

    打印设置说明,以下均为默认值. With ActiveSheet.PageSetup .PrintTitleRows = "" '工作表打印标题:顶端标题行(R) .PrintTi ...

  10. Flexbox盒子弹性布局

    Can I Use? 2. 概念: 当你给一个元素使用了flexbox模块,那么它的子元素就会指定的方向在水平或者纵向方向排列.这些子元素会按照一定的比例进行扩展或收缩来填补容器的可用空间. < ...