一、webservice是什么?
1.基于WEB的服务,服务端整出一些资源让客户端应用访问(提供数据)
2.webservice是一个跨语言跨平台的规范(抽象)
3.是多个跨语言跨平台的应用间通信整合的方案(实际)
二、webservice相当于什么?
webservice = http+xml+schema
三、WSDL
1.webservice定义语言,对应.wsdl文档
2.定义了webservice服务器端和客户端应用交互传递请求数据的格式和过程
3.一个webservice对应一个唯一的wsdl文档
WSDL是web service definition language的缩写,即web service的定义(描述)语言。一个WSDL文档的根元素是definitions元素,WSDL文档包含7个重要的元素:types, import, message, portType, operations, binding和service元素。
1、 definitions元素中一般包括若干个XML命名空间;
2、 Types元素用作一个容器,定义了自定义的特殊数据类型,在声明消息部分(有效负载)的时候,messages定义使用了types元素中定义的数据类型与元素;
3、 Import元素可以让当前的文档使用其他WSDL文档中指定命名空间中的定义;
4、 Message元素描述了Web服务的有效负载。相当于函数调用中的参数和返回值;
5、 PortType元素定义了Web服务的抽象接口,它可以由一个或者多个operation元素,每个operation元素定义了一个RPC样式或者文档样式的Web服务方法;
6、 Operation元素要用一个或者多个messages消息来定义它的输入、输出以及错误;
7、 Binding元素将一个抽象的portType映射到一组具体的协议(SOAP或者HTTP)、消息传递样式(RPC或者document)以及编码样式(literal或者SOAP encoding);
8、 Service元素包含一个或者多个Port元素
每一个Port元素对应一个不同的Web服务,port将一个URL赋予一个特定的binding,通过location实现。
可以使两个或者多个port元素将不同的URL赋给相同的binding。
四.SOAP是什么?
SOAP是simple object access protocal的缩写,即简单对象访问协议。 是基于XML和HTTP的一种通信协议,用于在WEB交换结构化(XML)的数据。是webservice所使用的一种传输协议,webservice之所以能够做到跨语言和跨平台,主要是因为XML和HTTP都是独立于语言和平台的。Soap的消息分为请求消息和响应消息,一条SOAP消息就是一个普通的XML文档,包含下列元素:
1、 必需的 Envelope 元素,可把此XML文档标识为一条SOAP消息
2、 可选的 Header 元素,包含头部信息
3、 必需的 Body 元素,包含所有的调用和响应信息
4、 可选的 Fault 元素,提供有关在处理此消息所发生错误的信息