web service 之 SOAP(一)
一、SOAP(Simple Object Access Protocol) 简单对象访问协议.
看上篇的web service 技术架构图,SOAP对应于消息层,且在XML之上。
1、所谓协议就是个约定,就是大伙定个规矩以什么样的形式交流。
和"天黄盖地虎,宝塔镇河妖"一个道理。
2、SOAP 对应于消息层
web service 以SOAP作为消息传递协议。
"SOAP是web service 消息传输协议事实上的标准"--《web 服务与技术》
3、SOAP是基于XML的。
先可以简单的理解为用http传送符合某种特定规则的xml就是SOAP。
为什么是SOAP ?
SOAP是基于xml的。xml是中立的不是那种语言特有的东西,也不是只属于特定的
平台。SOAP实现了跨平台的互操作性。
向对于别的组件技术CORBA、DCOM、RMI , SOAP绝对优点就是不必要求通信连接的
两端使用同一分布式模型实现。
一句话SOAP是松耦合的,是平台无关的。
二、说那么多了,SOAP到底长啥样子?
掀起她的盖头来:
先看百度百科 SOAP :
http://baike.baidu.com/view/1695890.htm?from_id=4684413&type=syn&fromtitle=SOAP&fr=aladdin
协议结构
SOAP消息格式:
<SOAP-ENV:Envelope 各种属性>
<!--百度百科示例-->
<SOAP:HEADER>
</SOAP:HEADER>
<SOAP:Body>
</SOAP:Body>
</SOAP-ENV:Envelope>
消息基本结构
<?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>
没有什么神秘嘛,一条SOAP消息就是个xml,这个xml根节点是soap:Envelope
有必须的节点soap:Body,可选的节点有soap:Header、soap:Fault。
采用SOAP 协议交换数据,实际就是相互传送上面格式的xml。
到这里再想想,所谓的跨平台的互操作性就明白了吧。
三、SOAP、XML、HTTP 关系:
还是先看下web service技术架构图,HTTP 对应于右侧的"传输",而xml 、SOAP在http之上。
web service 的消息是通过HTTP来传送的(不必须是http),并且传送的消息格式是xml的,
是xml的但不能是任意xml格式,这个xml格式必须符合SOAP规范,符合SOAP规范的才能被
进行web service通讯的两端正确解析理解。
形象的说http就是运送货物的卡车,SOAP就是货物,这种货物是用xml组装的。
这样说可能不太准确,参考 W3C关于SOAP的一句话:"HTTP + XML = SOAP".
这样说或许更精确些。
相关推荐
本书是一本全面介绍如何使用SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现与集成)标准来构建分布式Web应用的专业指南。 #### 二、Web服务概述 - **2.1 什么是Web服务?** - Web服务...
标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...
详细讲解web service soap原理。
delphi下soap编程指导 第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service ...第十三章 Delphi的Soap和Web Service之幕后制作 第十四章 在Internet上使用Web Service
要设置SOAP Header以便在Web Service调用中添加这些验证信息,我们可以创建一个自定义的SOAP Handler。以下是一个Java实现的例子,展示了如何在SOAP Message中插入这样的SOAP Header: ```java import javax.xml....
标题"D6 SOAP_WEB SERVICE DELPHI SOAP"指的是使用Delphi 6这个版本的集成开发环境(IDE)来创建和使用SOAP Web服务。Delphi是Embarcadero Technologies开发的一种强大的Object Pascal编程工具,它提供了丰富的功能...
《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》不仅是一本技术指南,也是一本实践手册,适合想要提升Delphi技能,或者探索早期Web Service开发的开发者。虽然现在技术迭代迅速,但理解这些基础知识对于理解现代...
Web服务(Web Service)是一种基于互联网的、采用标准的XML(Extensible Markup Language)格式来交换数据的应用程序间通信方式。SOAP(Simple Object Access Protocol)是Web服务中最常见的一种消息协议,它允许...
本篇文章将详细讲解与"WEB SERVICE"和"SOAP"相关的知识点,以及如何利用JAR包来支持这些服务。 首先,让我们理解什么是Web服务。Web服务是通过HTTP协议提供的一种接口,使得应用程序能够跨平台地交换数据。它们通过...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...
随着互联网技术的发展与成熟,Web服务(Web Service)成为构建分布式应用的关键技术之一。《C++Builder 6 SOAP/Web Service 开发》这本书深入探讨了如何利用C++Builder 6进行SOAP Web服务的开发。该书由李维编著,于...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...
《C++ Builder 6 SOAP Web Service》是一本深入讲解如何使用C++ Builder 6开发SOAP(Simple Object Access Protocol)Web服务的专业书籍。SOAP是一种基于XML的协议,它允许应用程序通过Internet进行通信,使得不同...
总结来说,"mule使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...
Delphi6 SOAP Web Service程序设计篇
SOAP 协议和 WSDL 简介是 Web Service 的核心技术,它们提供了一种通用的机制来实现跨语言、跨平台的通讯和交互。通过了解 SOAP 协议和 WSDL 简介,我们可以更好地设计和实现 Web Service,提高系统的可扩展性和可...
**SOAP(简单对象访问协议)**是Web服务中常用的一种通信协议,用于交换结构化信息。SOAP基于XML,使得它具有良好的可读性和可解析性,同时也具备跨平台的特性,能够在不同操作系统和编程语言之间进行通信。SOAP消息...
在"Delphi/Kylix SOAP/WEB SERVICE程序设计配书代码"这个压缩包中,包含的D6 SOAP/WEB SERVICE程序设计配书代码很可能是书本《Delphi/Kylix SOAP/WEB SERVICE程序设计》的示例源码。这些代码实例会涵盖如何创建SOAP...
Web Service,SOAP,XML,WSDL,WCF综合介绍