博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C#根据WSDL文件生成WebService服务端代码
阅读量:6277 次
发布时间:2019-06-22

本文共 2020 字,大约阅读时间需要 6 分钟。

转自:http://www.cnblogs.com/liyi93/archive/2012/01/30/2332320.html

虽然现在已经进入了.NET FrameWork 4.0的时代,WebService也已经逐渐被淘汰,取而代之的是WCF。

但在工作中难免遇到需要兼容旧版本程序和按照以前的文档进行开发。

 

一般一个已经实现功能的WebService会发布自己的WSDL文件,供客户端调用生成代理类。

 但有时是先有server与client交互的接口定义(WSDL)文件,然后由server和client端分别写程序,一个提供web服务,一个使用web服务。

 最近,我也遇到了这个问题。由于业务方仅提供了WSDL文件并确定了其规范,需要我们开发服务端供调用。

 

1、使用VS2010提供的工具wsdl.exe由WSDL文件生成cs文件

     使用wsdl.exe的/serverInterface选项(或缩写的 /si)指定输入的wsdl文件(注意,如果要转换的wsdl文件中import了其他wsdl文件,则所有文件都应列出,包括使用到的xsd文件也应列出)。输出将是 一个代码文件(默认是C#的,如果需要别的语言,参考MSDN中wsdl.exe的使用说明),其中包含每个 wsdl 绑定的接口。

   

   示例:假设有ServerInterfaceSample.wsdl 

    wsdl.exe /si ServerInterfaceSample.wsdl

    如果使用Service.xsd作为schema文件,则改为

    wsdl.exe /si ServerInterfaceSample.wsdl  Service.xsd

    生成代码如下:

 

//------------------------------------------------------------------------------// 
// 此代码由工具生成。// 运行时版本:4.0.30319.239//// 对此文件的更改可能会导致不正确的行为,并且如果// 重新生成代码,这些更改将会丢失。//
//------------------------------------------------------------------------------using System;using System.ComponentModel;using System.Diagnostics;using System.Web.Services;using System.Web.Services.Protocols;using System.Xml.Serialization;// // 此源代码由 wsdl 自动生成, Version=4.0.30319.1。// ///
[System.CodeDom.Compiler.GeneratedCodeAttribute("wsdl", "4.0.30319.1")][System.Web.Services.WebServiceBindingAttribute(Name="WebServiceSoap", Namespace="http://tempuri.org/")]public interface IWebServiceSoap { ///
[System.Web.Services.WebMethodAttribute()] [System.Web.Services.Protocols.SoapDocumentMethodAttribute("http://tempuri.org/sendSMS", RequestNamespace="http://tempuri.org/", ResponseNamespace="http://tempuri.org/", Use=System.Web.Services.Description.SoapBindingUse.Literal, ParameterStyle=System.Web.Services.Protocols.SoapParameterStyle.Wrapped)] long sendSMS(InfoHeader header, string sessionId, string sender, string smsContent, string receiverList, string productCode, string pseudoFlag);}

 

  2、使用以上生成的文件进行修改,实现你的WebService方法即可.

转载于:https://www.cnblogs.com/biye/p/3922328.html

你可能感兴趣的文章
UDP 单播、广播和多播
查看>>
windows linux—unix 跨平台通信集成控制系统----系统硬件信息获取
查看>>
ThinkPad E550 安装 WIN7 的启动 U 盘制作
查看>>
在 Windows 下远程桌面连接 Linux - XManager 篇
查看>>
tomcat如何路由映射网址
查看>>
如何开始容器化
查看>>
为什么POLARDB是云计算2.0时代产品进化的关键里程碑?
查看>>
HTTP 协议解析
查看>>
十面埋伏? 程序世界里的不信任原则
查看>>
Use our script to build OGRE, CEGUI, FreeImage, Cg and OIS from CVS
查看>>
姚期智:算法将推动下一波AI浪潮,现有革新将达极限
查看>>
虚拟机设置bios第一启动为u盘
查看>>
Day4---D3:法律问题,合同和电子举证
查看>>
[译]搭建账户系统
查看>>
三种类型的DNS攻击以及应对方法
查看>>
Docker Swarm vs Kubernetes
查看>>
电商网站的支付接入该怎么做呢?
查看>>
六顶帽子思考法的好处
查看>>
关于Expression Tree和IL Emit的所谓的"性能差别"
查看>>
svn导出项目后报错汇总
查看>>