web service 之 SOAP(二)
SOAP 的两种通讯方式: RPC 和 Document
网上也称之为SOAP的两种风格。
一、RPC 和 Document的不同是指什么的不同?
指的是SOAP XML样式不同、生成的xml所受的约束不同、xml数据含义不同。
二、RPC 和 Document 风格的区别是什么 ?
1、面向的方面不同。
RPC: 客户端和RPC类型的WS进行交互围绕具体服务的接口。
client端:我要发送的是调用的方法名,和方法接收的参数这些数据。这些东西在传输过程中表现为xml形式。
server端:我要接收的是你请求的方法名,和发过来的各个方法的参数。
server端收到xml数据后会提取转换为对应参数值,
server端(更准确的说是被web service封装的组件)并不会直接接收处理xml文档。
Document:客户端和RPC类型的WS进行交互就是交换xml。
client端:我要发送的是个 xml文档。
server端:我要接收的是个xml文档,server端接到这个xml文档后直接处理这个xml文档。
感觉有点绕,好像没说明白。做个不太恰当比喻:
RPC是一个家国际贸易公司,从码头收到自己的集装箱后,会自己拆开集装箱取之中的货物,然后自己处理自己的货物。
Document是一家国际运输公司,从码头收到自己的集装箱后,会用卡车把这些集装箱转运到内陆地区,公司业务的处理对象就是集装箱。
2、SOAP 内容不同
RPC:对于请求来说SOAP body内容是 要调用的方法名和传入的参数--响应也类似。
请求报文例子:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:glob="http://globinch.com">
<soapenv:Header/>
<soapenv:Body>
<glob:getGreetingRequest>
<name>Binu George</name>
</glob:getGreetingRequest>
</soapenv:Body>
</soapenv:Envelope>
getGreetingRequest是要调用的方法名,name是要传的参数名,参数值是Binu George。
Document:SOAP body的内容由定义在<wsdl:type>中的xml模式指定。他不需要遵循特定的soap规范
3、xml约束
RPC:名字和参数的物理顺序必须和要调用的方法的名字和参数物理顺序一致
Document:符合预定义的Schema要求。
三、应当选择哪个 ?
1、Document方式更灵活, 更能利用xml的优势,松耦合。
2、RPC紧耦合
3、应当选择哪个?没搞太明白,这个问题还待研究
相关推荐
### 使用SOAP进行Web服务编程的关键知识点 #### 一、引言 《使用SOAP进行Web服务编程》这本书由Doug Tidwell、James Snell 和 Pavel Kulchenko合著,由O'Reilly出版社出版于2001年12月,ISBN为0-596-00095-2,共有...
标题"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
标题"D6 SOAP_WEB SERVICE DELPHI SOAP"指的是使用Delphi 6这个版本的集成开发环境(IDE)来创建和使用SOAP Web服务。Delphi是Embarcadero Technologies开发的一种强大的Object Pascal编程工具,它提供了丰富的功能...
当涉及到Web Service客户端与服务器之间的交互时,有时需要在SOAP消息中添加额外的信息,例如身份验证或安全凭证,这就是SOAP Header的作用。SOAP Header是SOAP Envelope的一部分,它允许扩展和自定义消息处理。 在...
在《实战Delphi6/Kylix2/SOAP/Web Service程序设计篇》这本书中,作者李维精心编撰了一套系统而全面的教程,针对的是Delphi6和Kylix2这两个经典的Visual Basic derivative (VBD) 编程环境,尤其是针对SOAP(Simple ...
本篇文章将详细讲解与"WEB SERVICE"和"SOAP"相关的知识点,以及如何利用JAR包来支持这些服务。 首先,让我们理解什么是Web服务。Web服务是通过HTTP协议提供的一种接口,使得应用程序能够跨平台地交换数据。它们通过...
Web服务(Web Service)是一种基于互联网的、采用标准的XML(Extensible Markup Language)格式来交换数据的应用程序间通信方式。SOAP(Simple Object Access Protocol)是Web服务中最常见的一种消息协议,它允许...
《实战Delphi6.Kylix2.SOAP.Web Service程序设计篇》是由知名技术专家李维编著的一本专业书籍,主要面向的是希望深入理解和应用Delphi6、Kylix2、SOAP以及Web Service技术的开发者。这本书详细介绍了如何利用这些...
#### 二、SOAP Web Service 技术背景 - **SOAP简介**: - SOAP(Simple Object Access Protocol,简单对象访问协议)是一种轻量级的协议,用于在分布式环境中交换结构化的信息。 - SOAP基于XML,这意味着它可以在...
Delphi6 SOAP Web Service程序设计篇
《实战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进行通信,使得不同...
Web Service,SOAP,XML,WSDL,WCF综合介绍
**SOAP(简单对象访问协议)**是Web服务中常用的一种通信协议,用于交换结构化信息。SOAP基于XML,使得它具有良好的可读性和可解析性,同时也具备跨平台的特性,能够在不同操作系统和编程语言之间进行通信。SOAP消息...
总结来说,"mule使用SOAP工件发布和消费web Service的简单例子"是关于利用Mule ESB创建和使用SOAP服务的一个实践教程。通过"hello-ws"示例,我们可以深入理解SOAP服务的生命周期,从定义WSDL到编写服务逻辑,再到...
Web Service 学习 SOAP 协议简介 WSDL 简介 Web Service 概述 Web Service 是一种软件系统,旨在支持跨网络的机器间相互操作交互。它通常被定义为一组模块化的 API,可以通过网络进行调用,以执行远程系统的请求...
在"Delphi/Kylix SOAP/WEB SERVICE程序设计配书代码"这个压缩包中,包含的D6 SOAP/WEB SERVICE程序设计配书代码很可能是书本《Delphi/Kylix SOAP/WEB SERVICE程序设计》的示例源码。这些代码实例会涵盖如何创建SOAP...