c#:WebService及其几种调用方式

itlao6 .NET 原创 开发&源码评论1,121字数 942阅读3分8秒阅读模式

之前做移动端开发,都不清楚WebService是啥东东,现在接触c#,项目中有三处WebService调用,就不得不与其打交道了,最近碰上第三方接口地址更换,而自己项目因功能也需要增加WebService方法,所以了解了下WebService及其调用。

c#:WebService及其几种调用方式

一、概念

WebService:我们可以理解为基于web的服务,它具有跨语言,跨平台的特性,通过web/http的方式实现远程调用,可以让程序的数据操作与功能模块分离。文章源自IT老刘-https://wp.itlao6.com/675.html

WebService的几个基础概念:
  1. XML:扩展性标记语言,用于传输格式化的数据,是Web服务的基础;
  2. WSDL:Web服务描述语言,通过xml的形式描述服务的地址及调用方式;
  3. SOAP:基于http+xml的简单对象访问协议,用于数据的网络传输。
    SOAP主要有以下几个节点:
    Envelope(必须) – 以XML的根元素出现;
    Headers(可选) – 常添加一些身份验证数据;
    Body(必须) – 包含要执行的服务器的方法和发送到服务器的数据。
    示例:
<Envelope>
    <Header>
    </Header>
    <Body>
        <方法名>
            参数
        </方法名>
    </Body>
</Envelope>

二、调用方式

WebService调用方式有多种,这里主要说两种:文章源自IT老刘-https://wp.itlao6.com/675.html

方式1. 引用wsdl文件

即通过引用wsdl文件的方式直接生成WebService调用类,如下图:文章源自IT老刘-https://wp.itlao6.com/675.html

 文章源自IT老刘-https://wp.itlao6.com/675.html

c#:WebService及其几种调用方式
vs+c#引用wsdl调用webService

 文章源自IT老刘-https://wp.itlao6.com/675.html

这种方式适用于使用vs+c#开发的WebService。只需要如上图添加服务引用,根据后面提示输入url,一步步操作即可,调用时与本地方法的调用无异。
这种方式使用很简单,但缺点也不少,如:接口的每次更新都需要重新生成引用、如果接口使用其他语言开发则调用会出现问题。文章源自IT老刘-https://wp.itlao6.com/675.html

方式2. 直接WebRequest请求

通过stringbuilder拼接好soap包内容,然后通过webRequest post方式发送,contentType使用"application/soap+xml; charset=utf-8";即可。文章源自IT老刘-https://wp.itlao6.com/675.html

//代码示例后续有时间补充

原文:简书ThinkinLiu 博客: IT老五文章源自IT老刘-https://wp.itlao6.com/675.html

当然还有其他方式可以调用WebService,如动态调用等,因为我用到的就只有上面两种,这里就不探究其他方式了。文章源自IT老刘-https://wp.itlao6.com/675.html

文章源自IT老刘-https://wp.itlao6.com/675.html文章源自IT老刘-https://wp.itlao6.com/675.html
继续阅读
weinxin
我的微信公众号
微信扫一扫关注公众号,不定时更新
itlao6
  • 本文由 发表于 2018年 11月 28日 08:25:41
  • 转载请务必保留本文链接:https://wp.itlao6.com/675.html
评论  0  访客  0
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定