C# 利用VS自带的WSDL工具生成WebService服务类

 

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

一、生成步骤

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

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

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

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

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

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

配置步骤:

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

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

说明:

a. 命令填写的是wsdl.exe程序在电脑中的路径  C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.6.1 Tools\wsdl.exe

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

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

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

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

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

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

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

C# 利用VS自带的WSDL工具生成WebService服务类的更多相关文章

  1. C# 利用VS自带的WSDL工具生成WebService服务类(转载)

    WebService有两种使用方式,一种是直接通过添加服务引用,另一种则是通过WSDL生成. 添加服务引用大家基本都用过,这里就不讲解了. 那么,既然有直接引用的方式,为什么还要通过WSDL生成呢? ...

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

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

  3. 利用wsdl.exe生成webservice代理类

    通常要手动生成WebService代理类需要把一句生成语句,如 wsdl.exe /l:cs /out:D:\Proxy_UpdateService.cs  http://localhost:1101 ...

  4. 根据wsdl反向生成webservice服务端(3种方法)

    前言 正常情况下,都是我们项目组创建一个webservice服务端,客户通过我们提供的wsdl地址生成客户端并进行访问:但是最近和一个国企做接口对接,他们却只提供给我们wsdl,需要我们根据wsdl生 ...

  5. C#根据WSDL文件生成WebService服务端代码

    转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html 虽然现在已经进入了.NET FrameWork 4.0的时代,WebS ...

  6. 利用kali自带的msfvenom工具生成远程控制软件(木马)

    2.生成一个简单的木马 3. 4. 5. 6.接下来生成的winx64muma.exe实际演示 7.将生成的winx64muma.exe在受害者机器上运行 8.在kali下输入msfconsole 9 ...

  7. tomcat配置https–采用JDK自带的keytool工具生成证书

    转自:http://blog.csdn.net/huangxinyu_it/article/details/41693633 有关http与https的区别请看<浅谈http与https的区别( ...

  8. 利用gsoap工具,通过wsdl文件生成webservice的C++工程文件

    一.下载gsoap文件,下载地址:https://zh.osdn.net/projects/sfnet_gsoap2/releases/ 二.以gsoap-2.8为例,解压到D盘,在D:/gsoap- ...

  9. 利用wsdl2java工具生成webservice的客户端代码

    1.JDK环境  2.下载apache-cxf发布包:http://cxf.apache.org/download.html 目前最新版本为3.2.6, 解压后如下: 解压发布包,设置CXF_HOME ...

随机推荐

  1. AngularJs 学习笔记(四)服务

    模型是指$scope上保存的包含瞬时状态数据的JavaScript对象. 服务是一个单例对象,只会被$injector实例化一次,并且是在需要的时候才会被创建,服务提供了把与特定功能相关联的方法集中在 ...

  2. Cesium 云服务

    前言 所有行业内都知道云是未来或者现在的趋势,但是真正的完完全全提供地理信息云服务的恐怕只有 Google 一家,然而今天我居然发现 Cesium 提供了云服务,你没有看错,就是曾经的开源 3D 渲染 ...

  3. win10更新失败——适用于Windows 10 Version 1709 的03累积更新,适合基于x64系统(KB4088776)更新失败

    相信最近很多人被windows的更新折磨坏了,下面来介绍一下解决办法,有用的话请点赞! 首先将C盘中的这个文件夹删除:"C:\Windows\System32\Tasks\Microsoft ...

  4. Spring温故而知新 – AOP代理

    AOP的概念 AOP:Aspect-Oriented Programming(面向切面编程),维基百科的解释如下:Aspect是一种新的模块化机制,用来描述分散在对象.类或者函数中的横切关注点,从关注 ...

  5. flush()清空文件缓存区

    # 缓冲区:cpu 一级缓存 二级缓存 三级缓存 import time f =open('2.txt','a+' ,encoding='utf-8') f.write('helloworld\n') ...

  6. TCP分组交换详解

    TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标 ...

  7. Python_shelve模块操作二进制文件

    import shelve #导入shelve模块 fp=shelve.open('shelve_test.dat') #创建或打开二进制文件 zhangsan={'age':38,'sex':'Ma ...

  8. Python_csv电子表格

    import csv with open('test.csv','w',newline='')as fp: test_writer=csv.writer(fp,delimiter=' ',quotec ...

  9. Unity 从StreamingAssets文件夹和PersistentData文件夹 保存读取AssetBundle资源

    项目中的资源一般我们打包成AssetBundle格式 方便我们加载和热更 而AssetBundle文件 一般保存在StreamingAssets文件夹或则PersistentData文件夹 首先我们看 ...

  10. CentOS-7修改主机名

    本文由荒原之梦原创,原文链接:http://zhaokaifeng.com/?p=589 方法一(修改静态主机名): vi /etc/hostname 注:由于静态主机名是系统初始化时从/etc/ho ...