WebService如何根据WSDL文件转换成本地的C#类

摘要:
WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成。wsdl为wsdl文件路径,也可以是物理路径3.指令输入完成之后,按回车,执行成功如下图所示,此时去F盘就能找到一个生成的TestService.cs类文件了二、将wsdl.exe配置在vs工具菜单中由于每次打开vs开发控制台,并输入一长串的指令会比较麻烦,所以为了提高效率,我们将其配置在工具菜单中,让使用更方便。完成后如下图点击确定就可以了,在vs底部的输出窗口中可以看到详细信息。

WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成。 添加服务引用大家基本都用过,这里就不讲解了。 那么,既然有直接引用的方式,为什么还要通过WSDL生成呢? 因为通过WSDL生成,就只有一个.cs 文件,便于管理,更简洁。

一、生成步骤

1. 打开vs开发控制台, 如下图:

WebService如何根据WSDL文件转换成本地的C#类第1张

2. 在控制台中输入如下指令

wsdl /language:c# /n:Demo /out:d:/TestService.cs http://www.abc.com/webservice/test?wsdl

参数说明如下

/language:C#    指定编程语言为 C#

/n:Demo   指定名称空间为 Demo

/out:      指定文件保存路径和文件名 d:/TestService.cs

后面加webservice地址:http://www.abc.com/webservice/test?wsdl 为wsdl文件路径,也可以是物理路径(如:C:/test.wsdl)

3. 指令输入完成之后,按回车,执行成功如下图所示,此时去F盘就能找到一个生成的TestService.cs类文件了

WebService如何根据WSDL文件转换成本地的C#类第2张

二、将wsdl.exe配置在vs工具菜单中

由于每次打开vs开发控制台,并输入一长串的指令会比较麻烦,所以为了提高效率,我们将其配置在工具菜单中,让使用更方便。

配置步骤:

1. 打开vs -> 工具菜单 -> 外部工具

2. 点击添加,详细配置如下图

WebService如何根据WSDL文件转换成本地的C#类第3张

说明:

a. 命令填写的是wsdl.exe程序在电脑中的路径 C:Program Files (x86)Microsoft SDKsWindowsv10.0AinNETFX 4.6.1 Toolswsdl.exe

b. 参数和上面讲的一致,不再赘述

c. 初始目录,选择 [项目录]。 项目录的作用就是,当你选中解决方案中的某个文件夹,那么生成的类文件就会保存在你选中的文件夹下,如果选中的是文件,则生成的类文件保存在和所选文件同级目录下。

3. 点击应用按钮,配置完成。

配置完要如何使用呢?配置完后,点击工具菜单,会看到如下图:

WebService如何根据WSDL文件转换成本地的C#类第4张

点击 WEBSERVICE生成工具,出现如下图

WebService如何根据WSDL文件转换成本地的C#类第5张

我们把 "命名空间" 换成自己真实想要的名称空间,我这里写Test,然后在 /out: 后面敲一个空格(记住一定要空格),之后填写wsdl文件路径(可以是物理路径也可以是网络路径)。完成后如下图

WebService如何根据WSDL文件转换成本地的C#类第6张

点击确定就可以了,在vs底部的输出窗口中可以看到详细信息。

免责声明:文章转载自《WebService如何根据WSDL文件转换成本地的C#类》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Java复制数组的四种方法:arraycopy()方法、clone() 方法、copyOf()和copyOfRange()方法(转载)mysql查询一天,查询一周,查询一个月的数据下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

WebService的讲解 和 CXF 的初步使用

1. 复习准备 1.1. Schema约束 几个重要知识: namespace 相当于schema文件的id targetNamespace属性 用来指定schema文件的namespace的值 xmlns属性 引入一个约束, 它的值是一个schema文件的namespace值 schemaLocation属性 用来指定引入的schema文件的位置...

C# 动态编译

1.C#层:利用.NET framework的CodeDom或Mono的Evaluator动态编译解释CS脚本 2.IL层:利用System.Reflection.Emit或Mono.Cecil动态生成IL指令并执行 3.造轮子自己实现IL解释器(取代.NET或Mono的IL解释器,这种方案可以绕过苹果实现热更新) 4.直接调用Mono的编译器进行编译生成...

CLS(公共语言规范)的CLSCompliant(跨语言调用)

.net的一个很重要的特性就是跨语言的编程,用C#写的dll可以在VB.net里调用,例如:用C#写的一个类,编译到dll中,然后在VB.net中调用: using System;namespace CLSsample{ public class CLSTest {  public CLSTest()  {     }  public void AB...

C# ------ C# 和 .NET

C#  一个支持面向对象的编程语言,由微软开发,对就是windows 系统的微软,既然提到微软那你应该会了解到 .NET 框架。    .Net 框架应用程序是多平台的应用程序。框架的设计方式使它适用于下列各种语言:C#、C++、Visual Basic、Jscript、COBOL 等等。所有这些语言可以访问框架,彼此之间也可以互相交互。 一个软件不是由一...

asp.net(C#) 编码解码(HtmlEncode与HtmlEncode)

Default.aspx <%@PageValidateRequest="false"Language="C#"AutoEventWireup="true"CodeFile="Default.aspx.cs"Inherits="test_Default"%><!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Tr...

Anders谈C# 4.0:新功能和展望

刚才刚看完Anders的PDC Talk,感觉C# 4.0的变化不是很大,但是很多改动都方便了用户的使用,有些甚至当初Anders本来不愿意加入的功能最后由于用户的呼声最后还是加进去了(如 Optional Parameters),可见Anders对用户的意见还是非常重视的。稍微总结一下,C# 4.0中有下面这些功能: 1. dynamic/IDynami...