`

web service 之 SOAP(一)

 
阅读更多

 

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".

这样说或许更精确些。

 

分享到:
评论

相关推荐

    programming web service with soap

    本书是一本全面介绍如何使用SOAP(简单对象访问协议)、WSDL(Web服务描述语言)和UDDI(统一描述、发现与集成)标准来构建分布式Web应用的专业指南。 #### 二、Web服务概述 - **2.1 什么是Web服务?** - Web服务...

    D6 SOAP_WEB SERVICE

    标题"D6 SOAP_WEB SERVICE"指的是使用Delphi编程语言开发基于SOAP(简单对象访问协议)的Web服务。在本文中,我们将深入探讨这个主题,了解如何使用Delphi构建Web服务以及SOAP在其中的作用。 首先,让我们了解一下...

    web service soap原理

    详细讲解web service soap原理。

    D6 SOAP_WEB SERVICE程序设计.part1.rar

    delphi下soap编程指导 第一章 SOAP和Web Service的概念 第二章 组件模型、Internet/Intranet和SOAP 第三章 开发Web Service ...第十三章 Delphi的Soap和Web Service之幕后制作 第十四章 在Internet上使用Web Service

    Web Service SOAP Client set SOAP Header

    要设置SOAP Header以便在Web Service调用中添加这些验证信息,我们可以创建一个自定义的SOAP Handler。以下是一个Java实现的例子,展示了如何在SOAP Message中插入这样的SOAP Header: ```java import javax.xml....

    D6 SOAP_WEB SERVICE DELPHI SOAP

    标题"D6 SOAP_WEB SERVICE DELPHI SOAP"指的是使用Delphi 6这个版本的集成开发环境(IDE)来创建和使用SOAP Web服务。Delphi是Embarcadero Technologies开发的一种强大的Object Pascal编程工具,它提供了丰富的功能...

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》(

    《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》不仅是一本技术指南,也是一本实践手册,适合想要提升Delphi技能,或者探索早期Web Service开发的开发者。虽然现在技术迭代迅速,但理解这些基础知识对于理解现代...

    web service-soap ppt

    Web服务(Web Service)是一种基于互联网的、采用标准的XML(Extensible Markup Language)格式来交换数据的应用程序间通信方式。SOAP(Simple Object Access Protocol)是Web服务中最常见的一种消息协议,它允许...

    WEB SERVICE 、SOAP所需JAR包

    本篇文章将详细讲解与"WEB SERVICE"和"SOAP"相关的知识点,以及如何利用JAR包来支持这些服务。 首先,让我们理解什么是Web服务。Web服务是通过HTTP协议提供的一种接口,使得应用程序能够跨平台地交换数据。它们通过...

    实战Delphi6.Kylix2.SOAP.Web Service程序设计篇李维著.zip

    《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...

    SOAPWeb 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程序设计篇》是由知名技术专家李维撰写的一本专业书籍,主要涵盖了使用Delphi6和Kylix2进行SOAP(简单对象访问协议)以及Web Service开发的核心技术和实践应用。这本书是...

    《C++ Builder 6 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使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...

    Delphi6 SOAP Web Service程序设计篇.rar

    Delphi6 SOAP Web Service程序设计篇

    Web+Service学习SOAP协议简介WSDL简介

    SOAP 协议和 WSDL 简介是 Web Service 的核心技术,它们提供了一种通用的机制来实现跨语言、跨平台的通讯和交互。通过了解 SOAP 协议和 WSDL 简介,我们可以更好地设计和实现 Web Service,提高系统的可扩展性和可...

    SOAP.rar_SOAP java_Web Service SOAP_java soap_java web service_s

    **SOAP(简单对象访问协议)**是Web服务中常用的一种通信协议,用于交换结构化信息。SOAP基于XML,使得它具有良好的可读性和可解析性,同时也具备跨平台的特性,能够在不同操作系统和编程语言之间进行通信。SOAP消息...

    Delphi/Kylix SOAP/WEB SERVICE程序设计配书代码

    在"Delphi/Kylix SOAP/WEB SERVICE程序设计配书代码"这个压缩包中,包含的D6 SOAP/WEB SERVICE程序设计配书代码很可能是书本《Delphi/Kylix SOAP/WEB SERVICE程序设计》的示例源码。这些代码实例会涵盖如何创建SOAP...

    Web Service,SOAP,XML,WSDL,WCF综合介绍

    Web Service,SOAP,XML,WSDL,WCF综合介绍

Global site tag (gtag.js) - Google Analytics