您的位置:首页 > 其它

web service基础知识

2014-11-17 11:58 127 查看
最近测试的项目,由于前台的UI没有设计好,对于我们做系统测试,只能通过调用后台的soup接口来测试。在这个项目开始之前,对web service不是很了解,在网上找了很多的文章恶补,还有很多没有理解的内容,为了以后不忘,把笔记记到这里。如果有更深刻的理解,以后再更新进来。

什么是Web Service?

在webservice出现之前,不同应用程序之前通信的方式如下:



web service技术出现之后,应用程序之间的通信如下:



从上图可知,借助Web Service技术, 能使得运行在不同机器上的不同应用无须借助附加的、专门的第三方软件或硬件, 就可相互交换数据或集成。依据Web Service规范实施的应用之间, 无论它们所使用的语言、 平台或内部协议是什么, 都可以相互交换数据。

可以这样理解,Web Service是应用程序的一个组件,为其他应用程序提供数据和服务。各个应用程序之间通过网络协议和规定的数据格式(http、xml、soap)来访问Web Service,通过Web Service内部执行得到所需要的结果。

在构建和使用Web Service时,主要用到以下关键技术和原则:

1、XML:用于描述数据的标准方法;

2、SOAP:用于数据交换的协议;

3、WSDL:Web服务的描述语言;

4、UDDI用于描述、发现和集成,它是一个独立于平台的,基于XML语言的用于在互联网上描述商务的协议。

怎么调用Web Service中定义的操作?

Web Service中有一个或多个端口(Port),这些端口用于接收客户端的请求,并返回响应。请求和响应都是一种基于XML的消息(Message),这种消息遵循特定的格式(SOAP)。

在说明调用Web Service操作的步骤之前,需要先了解Web Service中的一个描述文件——WSDL,它描述了一个Web Service的以下几个方面:

1、服务的端口(接收SOAP消息的端口);

2、服务提供的操作;

3、操作的输入、输出格式的定义(通过XML Schema定义输入输出格式)

有了这个描述文件WSDL,我们就知道客户端怎么调用这个Web Service中定义的操作了:

(1)通过WSDL找到这个Web Service提供的操作有哪些

(2)在WSDL中找到你要调用的操作

(3)找到这个操作的输入格式定义(XML Schema),按照这个输入格式构造一个SOAP消息

(4)将这个SOAP消息发送到WSDL中该操作指定的端口

(5)准备接收一个从Web Service服务器返回的SOAP响应。

那么,在Web Service服务端是如何处理一个Web Service操作请求的呢?

(1)监听网络端口

(2)接收客户端的请求(通过SOAP协议)

(3)解析客户端的请求(解析SOAP消息,将SOAP消息转换为数据对象)

(4)调用业务逻辑(调用Web Service实现类的特定操作,参数是由SOAP消息转换而来的数据对象)

(5)生成响应(将返回值转换为SOAP消息)

(6)返回响应(返回SOAP消息)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: