欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

c#中WebService的介绍及调用方式小结

程序员文章站 2023-12-03 09:28:10
前言 之前做移动端开发,都不清楚webservice是啥东东,现在接触c#,项目中有三处webservice调用,就不得不与其打交道了,最近碰上第三方接口地址更换,而自己...

前言

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

c#中WebService的介绍及调用方式小结

c-sharp in itlao5.com

一、概念

web service也叫xml web service webservice是一种可以接收从internet或者intranet上的其它系统中传递过来的请求,轻量级的独立的通讯技术。是:通过soap在web上提供的软件服务,使用wsdl文件进行说明,并通过uddi进行注册。简单的理解就是:webservice就是放在服务器上的函数,所有人都可以调用,然后返回信息。 比如google就有一个web service ,你调用它就可以很容易的做一个搜索网站。 就像调用函数一样,传入若干参数(比如关键字、字符编码等),然后就能返回google检索的内容(返回一个字符串)。

webservice:我们可以理解为基于web的服务,它具有跨语言,跨平台的特性,通过web/http的方式实现远程调用,可以让程序的数据操作与功能模块分离。

webservice的几个基础概念:

  1. xml:扩展性标记语言,用于传输格式化的数据,是web服务的基础;
  2. wsdl:web服务描述语言,通过xml的形式描述服务的地址及调用方式;
  3. saop:基于http+xml的简单对象访问协议,用于数据的网络传输。

saop主要有以下几个节点:

envelope(必须) – 以xml的根元素出现;

headers(可选) – 常添加一些身份验证数据;

body(必须) – 包含要执行的服务器的方法和发送到服务器的数据。

示例:

<envelope>
 <header>
 </header>
 <body>
  <方法名>
   参数
  </方法名>
 </body>
</envelope>

二、调用方式

webservice调用方式有多种,这里主要说两种:

方式1. 引用wsdl文件

即通过引用wsdl文件的方式直接生成webservice调用类,如下图:

c#中WebService的介绍及调用方式小结
vs+c#引用wsdl调用webservice

这种方式适用于使用vs+c#开发的webservice。只需要如上图添加服务引用,根据后面提示输入url,一步步操作即可,调用时与本地方法的调用无异。

这种方式使用很简单,但缺点也不少,如:接口的每次更新都需要重新生成引用、如果接口使用其他语言开发则调用会出现问题。

方式2. 直接webrequest请求

通过stringbuilder拼接好saop包内容,然后通过webrequest post方式发送,contenttype使用"application/soap+xml; charset=utf-8";即可。

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,如果有疑问大家可以留言交流,谢谢大家对的支持。