XML模式:SOAP

2016-02-19 19:59 7 1 收藏

下面是个简单易学的XML模式:SOAP教程,图老师小编详细图解介绍包你轻松学会,喜欢的朋友赶紧get起来吧!

【 tulaoshi.com - Web开发 】

简单对象访问协议(Simple Object Access Protocol,SOAP)实际上是一种 Web 服务技术,但 Web 服务中客户机和服务器之间的数据交换格式是通过灵活的 XML 模式实现的。

Web 服务的主要优点是客户机和服务器通过网络进行信息和数据交换的互操作性的层次。SOAP 标准使用 XML 以一种体系结构中立的格式来构造数据,定义数据类型和信息。

对于编程语言来说,只需要提供数据类型和需要在远程服务器上调用的函数名称即可。SOAP 库将用主机语言编写的信息和格式转化成 XML 格式的消息,其中包括调用的函数和提供的参数。

通过 W3C 的例子就可以了解 SOAP 的结构。调用远程 SOAP 函数 GetEndorsingBoarder() 的时候,客户机上的调用程序生成清单 1 所示的 XML 消息。

清单 1. 调用远程 SOAP 函数 GetEndorsingBoarder()

SOAP 客户机发送的整个消息都放在 SOAP 信封中。信封的内容就是消息的详细内容。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

被调用的函数显然是 GetEndorsingBoarder,它包括两个参数:manufacturer 和 model。由此可见,它把本地的可能采用二进制编码的字符串转化成了 XML 字符串。由于 XML 是平台独立的,主机使用 SOAP 系统不需要复杂的二进制编码和解码就可以交换消息。

(本文来源于图老师网站,更多请访问http://www.tulaoshi.com/webkaifa/)

服务器通过另一个 XML 编码的 SOAP 信封返回响应,这一次是函数的返回值。SOAP 请求的响应格式与函数相同,只不过在信封内容的后面加上了 Response,如清单 2 所示。

清单 2. SOAP 请求的响应

通常不需要自己编写 SOAP 消息,SOAP 库会自动生成。不过 SOAP 信封的结构和简单性表明使用 SOAP 标准共享信息很简单。

SOAP 大大简化了交换消息和调用远程函数的工作。远程过程调用(Remote Procedure Call,RPC)标准需要复杂的方法来处理二进制数据的序列化,发送结构化更高的信息需要详细的声明和双向的信息转换。

使用 SOAP,XML 序列化大大降低了这种复杂性,使得跨平台、跨语言集成和数据交换更加简单。

来源:http://www.tulaoshi.com/n/20160219/1622472.html

延伸阅读
标签: PHP
用PHP实现Soap通讯 近日用PHP实现Soap通讯,写了一些简单的方法:引用文字 <? phpfunction HttpSoap($server, $port, $url, $namespace, $action, $data) {$fp = @fsockopen($server, $port);if (!$fp) {return FALSE;} else {$soapData = ConstructData($namespace, $action, $data);$length = strlen($soapData);$out = &qu...
标签: Web开发
Uche Ogbuji 继续研究 RDF 如何与 XML 相结合以能够进行知识管理。在这一部分中,他深入研究了 RDF 世界中的建模,而且开始考虑开发问题跟踪程序的模式以及它与面向对象和关系建模之间的相似与不同。读者将学习各种技巧、技术和最佳实践,以便从 XML 数据开发有效的知识 管理模型。 目前为止,在对问题跟踪程序应用的研究中,我已经通...
XML文档可以包含外文字符比如挪威语或者法语(中文当然也可以!这一部分还是不能照原文翻译,下面有些内容是我自己写的)为了让你的解析器能够明白这些字符,你必须在XML文档中统一的字符编码标准。Windows 95/98 记事本 Windows 95/98 记事本不能以Unicode的编码格式保存文件。 可以使用记事本来编辑和保存包含了外文字符的XML文档 (比如:挪...
在XML文档中的所有文本都会被解析器解析。只有在CDATA部件之内的文本会被解析器忽略。解析数据 XML 解析器通常情况下会处理XML文档中的所有文本。 当XML元素被解析的时候,XML元素内部的文本也会被解析: This text is also parsed XML解析器这样做的原因是XML元素内部可能还包含了别的元素,象下面的例子,name元素内部包含了first和last两...

经验教程

133

收藏

35
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部