- WebService的定义:
是通过提供标准的协议和接口,可以让不同的程序集成的一种SOA(面向服务的编程)的架构;
它不依赖于平台,通过Internet进行基于Http协议的网络应用间的交互,可以实现跨语言和平台之间的调用;
也就是说,不管你是java,还是.net 只要按照规范就可以进行通信。实现数据交互等。辅助理解:WebService是一种跨编程语言和跨操作系统平台的远程调用技术。
- Web Service的基本原理
- Service Provider【服务提供者】采用WSDL描述服务
- Service Provider 【服务提供者】采用UDDI将服务的描述文件发布到UDDI服务器(Register server)
- Service Requestor【服务消费者】在UDDI服务器上查询并 获取WSDL文件
- Service requestor【服务提供者】将请求绑定到SOAP,并访问相应的服务
- WebService的三要素:
WebService = WSDL + SOAP + UDDI(webservice的注册)
WSDL 用来描述如何访问具体的接口,SOAP用来描述传递信息的格式, UDDI用来管理,分发,查询webService 。
- SOAP协议= HTTP协议 + XML数据格式
- SOAP简单对象访问协议【Simple Object Access Protocol】是交换数据的一种协议规范,
- 是一种轻量的、简单的、基于XML(标准通用标记语言下的一个子集)的协议,
- 它被设计成在WEB上交换结构化的和固化的信息。
- WebService通过HTTP协议发送请求和接收结果时,发送的请求内容和结果内容都采用XML格式封装,
- 增加特定的HTTP消息头,说明HTTP消息的格式,这些特定的HTTP消息头和XML内容格式就是 SOAP协议,
- SOAP提供了标准的RPC方法来调用Web Service。
- WSDL(Web Services Description Language)WEB服务描述语言
- 描述服务是什么,(服务中有哪些方法,方法接受的参数是什么,返回值是什么),服务的网络地址用哪个url地址表示,服务通过什么方式来调用。
- WSDL就是这样一个基于XML的语言,用于描述Web Service及其函数、参数和返回值。它是WebService客户端和服务器端都能理解的标准格式。因为是基于XML的,所以WSDL既是机器可阅读的,又是人可阅读的,这将是一个很大的好处。一些最新的开发工具既能根据你的Web service生成WSDL文档,又能导入WSDL文档,生成调用相应WebService的代理类代码。
- WSDL文件保存在Web服务器上,通过一个url地址就可以访问到它。客户端要调用一个WebService服务之前,要知道该服务的WSDL文件的地址。WebService服务提供商可以通过两种方式来暴露它的WSDL文件地址:1.注册到UDDI服务器,以便被人查找(这个应该意味着要有个服务中心),2.直接告诉给客户端调用者
- SOAP消息的语法规则及示例
一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
必需的 Envelope 元素,可把此 XML 文档标识为一条 SOAP 消息
可选的 Header 元素,包含头部信息
必需的 Body 元素,包含所有的调用和响应信息
可选的 Fault 元素,提供有关在处理此消息所发生错误的信息
SOAP 消息必须用 XML 来编码
SOAP 消息必须使用 SOAP Envelope 命名空间
扫描二维码关注公众号,回复: 2659900 查看本文章SOAP 消息必须使用 SOAP Encoding 命名空间
SOAP 消息不能包含 DTD 引用
SOAP 消息不能包含 XML 处理指令
<!-- SOAP消息/协议示例-->
<?xml
version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2001/12/soap-envelope"
soap:encodingStyle="http://www.w3.org/2001/12/soap-encoding">
<soap:Header>
</soap:Header>
<soap:Body>
<soap:Fault>
</soap:Fault>
</soap:Body>
</soap:Envelope>
- Web Service的优点
- 可以让异构的程序相互访问(跨平台)
- 松耦合 (3) 基于标准协议(通用语言,允许其他程序访问)
- Java WebService 简单小实例【点击查看实例】