一、简介
1、什么是WebService?
- WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
- WebService是一个SOA(面向服务的编程)的架构,它是不依赖于语言,不依赖于平台,可以实现不同的语言间的相互调用,通过Internet进行基于Http协议的网络应用间的交互。
- 可以实现不同应用程序和在不同系统平台上开发出来的应用程序之间通信,Web Service 以 SOAP 作为基本通信协议。
- Web Service 甚至可以穿越防火墙,真正的自由通信
一般要访问的Web服务器以及要访问的Web Service的客户端很可能位于防火墙后面,都默认关闭其它端口而开发HTTP端口,而Web service 正是基于HTTP的,所以它可以穿越防火墙。
2、http协议客户端和服务器的交互?
由HTTP客户端发起一个请求,建立一个到服务器指定端口(默认是80端口)的TCP连接。HTTP服务器则在那个端口监听客户端发送过来的请求。一旦收到请求,服务器(向客户端)发回一个状态行,比如"HTTP/1.1 200 OK",和(响应的)消息,消息的消息体可能是请求的文件、错误消息、或者其它一些信息。
soap 协议:它描述了一种在分散或分布式的环境中如何交换信息的轻量级协议。soap在http协议的基础上,一个基于XML的协议。
Soap=Http+XML
http协议 :纯文本协议
二、创建Web服务
下面是VS2015创建WebService并且调用的简单实例:
1、创建Web项目
2、添加项,选择 Web服务,将服务命名为WebService。
3、打开新创建的文件WebService.asmx文件,在里面创建一个TestMethod方法。作为测试方法。
4、发布运行进入页面之后可以看到刚刚添加的方法TestMethod:
点击方法,进入新的页面,并且输入参数,然后点击掉调用:
可以看到返回的数据,格式为XML格式(数据较少不太明显)。
一个简单的 webservice 就搭建完成。
三、引用Web服务
1、静态调用
WebService的引用一般有两种方法,一种是静态的用VS自带的添加服务引用,会生成一个特定的Reference.cs类文件,另一种是通过soap/get/post方法动态调用webservices,只支持string类型或数组类型。
(1)、静态调用,首先创建一个Winform窗体程序,项目名为APPTest,并且在窗体中添加一个Button控件、一个TextBox控件
(2)、添加服务引用
(3)、发布的地址是http://192.168.1.179:8008,那么服务引用的地址:http://192.168.1.179:8008 + /webservice.asmx,网站的访问网址加上Web服务名,然后点击确定。
点击确定。然后就OK了。调用的时候直接实例化一个新的对象,然后调用想用的方法就OK了。