一、web service

  1、定义

       是可以接收从internet上的其他系统中传递的请求,是一种轻量级的独立的通讯技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。所以它是一个平台独立,低耦合,自包含,基于可编程的web应用程序,适用于开发分布式的互操作的应用程序,减少了应用程序的花费,为各个不同的系统提供了一个通用机制。

2、xml,soap和wsdl就是构成webservice平台的三大技术

xml:扩展型标记语言,面向短期的零时数据处理、面向万维网络,是soap的基础;

soap:是xml文档形式的调用方法规范,它可以支持不同的底层接口像http(s)和smtp;

wsdl(web services description language):文件是一个xml文档,用于说明一组soap消息以及如何交换这些消息,大多数情况下是由软件自动生成和使用;

webservice采用http协议来在客户端和服务端之间传输数据。webservice使用xml来封装数据,xml主要的优点在于它是跨平台的。

webservice通过http协议发送请求和接收结果时,发送的请求内容和结果内容都采用xml格式封装,并增加了一些特定的http消息头,以说明http消息的内容格式,这些特定的http消息头和xml内容格式就是soap协议规定的。

webservice服务器端首先要通过一个wsdl文件来说明自己有什么服务可以对外调用。

简单的说,wsdl就像是一个说明书,用于描述webservice及其方法、参数和返回值。 wsdl文件保存在web服务器上,通过一个url地址就可以访问到它。客户端要调用一个webservice服务之前,要知道该服务的wsdl文件的地址。webservice服务提供商可以通过两种方式来暴露它的wsdl文件地址:1.注册到uddi服务器,以便被人查找;2.直接告诉给客户端调用者。

webservice交互的过程就是,webservice遵循soap协议通过xml封装数据,然后由http协议来传输数据。

3、特征:

1、它是基于soap协议的,数据格式是xml

2、只支持http协议

3、它不是开源的,但可以被任意一个了解xml的人使用

 4、它只能部署在iis上

二、基于.net平台的web services创建

1、打开vs(2017)工具,点文件—》新建项目—》visual c#—》asp.net web应用程序

2、在之前创建的项目的基础上,右键点击—》添加—》新建项

3、创建成功

三、webservice(iis)发布

1、先将创建的项目重新生成一遍,并生成成功后,右键点击项目—》发布—》

 

 

 

四、部署在windowserver2012服务器的iis上

1、先在服务器上安装iis,具体步骤网上有教程,安装成功后。

2、具体步骤如下:

1>、打开iis服务器

 

2>右键点击网站—》添加新网站

 

3>程序应用池配置

4>点击新建的网站,点击默认文档-》新增默认文档

5>浏览网站可能会遇到一下错误

解决方法:添加文件夹控制权限

6>再次浏览网站,就ok了

五、外网调用发布的webservice服务

1>、访问方式:公网ip:端口    例如:http://localhost:8085/webservice1.asmx   

          将localhost换成公网ip  http://106.52.37.221:8085/webservice1.asmx

可能会遇到以下错误:

 

错误原因:服务器上防火墙阻止了访问,

解决方法;1、直接关闭防火墙(不推荐)

              2、建立入站规则,步骤如下:

1.只控制面板中找到防火墙-》选择高级设置-》点击入站规则

2、新建入站规则

3.填写端口, 即新建网站时配置的端口号  如前面配置的8085端口

4.下一步

5.下一步

6.下一步

7.完成以上操作后,重新访问http://106.52.37.221:8085/webservice1.asmx

 

8.部署成功ok了,其他应用程序就可以调用了