Web Service 概述
Web Service 的定义
W3C 组织对其的定义如下,它是一个软件系统,为了支持跨网络的机器间相互操作交互而设计。 Web
Service 服务通常被定义为一组模块化的 API,它们可以通过网络进行调用,来执行远程系统的请求服务 。
这里我们从一个程序员的视角来观察 web service。在传统的程序编码中,存在这各种的函数方法调用。
通常,我们知道一个程序模块 M 中的方法 A,向其发出调用请求,并传入 A 方法需要的参数 P,方法 A 执
行完毕后,返回处理结果 R。这种函数或方法调用通常发生在同一台机器上的同一程序语言环境下。现在
的我们需要一种能够在不同计算机间的不同语言编写的应用程序系统中,通过网络通讯实现函数和方法调
用的能力,而 Web service 正是应这种需求而诞生的。
最普遍的一种说法就是,Web Service = SOAP + HTTP + WSDL。其中,SOAP Simple Object Access
Protocol)协议是 web service 的主体,它通过 HTTP 或者 SMTP 等应用层协议进行通讯,自身使用 XML
文件来描述程序的函数方法和参数信息,从而完成不同主机的异构系统间的计算服务处理。这里的
WSDL(Web Services Description Language)web 服务描述语言也是一个 XML 文档,它通过 HTTP 向
公众发布,公告客户端程序关于某个具体的 Web service 服务的 URL 信息、方法的命名,参数,返回值
等。
下面,我们先来熟悉一下 SOAP 协议,看看它是如何描述程序中的函数方法、参数及结果对象的。
SOAP 协议简介
什么是 SOAP&
SOAP 指简单对象访问协议,它是一种基于 XML 的消息通讯格式,用于网络上,不同平台,不同语言的
应用程序间的通讯。可自定义,易于扩展。一条 SOAP 消息就是一个普通的 XML 文档,包含下列元素:
• Envelope 元素,标识 XML 文档一条 SOAP 消息
• Header 元素,包含头部信息的 XML 标签
• Body 元素,包含所有的调用和响应的主体信息的标签
• Fault 元素,错误信息标签。
以上的元素都在 SOAP 的命名空间 http://www.w3.org/2001/12/soap-envelope 中声明;
SOAP 的语法规则
• SOAP 消息必须用 XML 来编码
• SOAP 消息必须使用 SOAP Envelope 命名空间
• SOAP 消息必须使用 SOAP Encoding 命名空间
• SOAP 消息不能包含 DTD 引用
• SOAP 消息不能包含 XML 处理指令
SOAP 消息的基本结构
Java 代码
评论0
最新资源