`
csevan
  • 浏览: 60846 次
  • 性别: Icon_minigender_1
  • 来自: 长沙市
文章分类
社区版块
存档分类
最新评论
阅读更多

关键字: RPC, SOAP, WSDL

RPC, SOAP, WSDL都是web service的关键词,这里描述一下他们的关系,下面的解释可能比较狭义,主要为了帮助理解这三者的关系。

1.RPC 如果要调用远端的一个方法,可以使用RMI和RPC,这是2种截然不同的风格。 RMI: (Remote Method Invocation) 直接获取远端方法的签名,进行调用。优点是强类型、编译期可检查错误;缺点是只限于java语言 RPC: (Remote Procedure Call) 采用客户端/服务器方式(请求/响应),发送请求到服务器端,服务端执行方法后返回结果。优点是跨语言跨平台,缺点是编译期无法排错,只能在运行时检查。

2.SOAP 为了包装RPC的请求信息,推出了XML-RPC,但XML-RPC只能使用有限的数据类型种类和一些简单的数据结构。于是就出现了SOAP(Simple Object Access Protocol)。SOAP最主要的工作是使用标准的XML描述了RPC的请求信息(URI/类/方法/参数/返回值)。理论上,SOAP就是一段xml,你可以通过http,smtp等发送它(复制到软盘上,叫快递公司送去也行?)。同样SOAP也是跨语言的。

3.WSDL WSDL(Web Services Description Language)是描述web服务的,是描述怎样访问web服务的。WSDL是用来描述SOAP的,换句话说,WSDL 文件告诉你调用 SOAP 所需要知道的一切。WSDL也是一段xml。现在各个语言对wsdl的支持都很成熟,可以根据同一份wsdl文件生成自己语言的客户端。

4.其它 简单的说Apache Axis是Apache Soap3.0,前面说过,RPC不能在编译期进行检查。而使用AXIS根据WSDL生成的客户端,却可以避免这个问题。使用SOAP的客户端时,全都用字符串来指定URI/服务名/方法/参数等。而AXIS生成的客户端将这些都封装了起来,它根据WSDL的描述生成调用接口,方便客户端开发。

分享到:
评论
1 楼 yvonxiao 2009-01-16  
找资料中偶然路过,看来我对其中一些概念的理解还有些地方要深入下.

相关推荐

    WSDL样式详解,soap中Rpc和Document的区别

    对wsdl的格式进行分析,主要讲解soap服务中rpc和doucumnet的不同之处。

    J2EE Web Services: XML SOAP WSDL UDDI WS-I JAX-RPC JAXR SAAJ JAXP

    J2EE Web Services: XML SOAP WSDL UDDI WS-I JAX-RPC JAXR SAAJ JAXP

    不同wsdl样式对应的soap消息格式

    通过示例说明document/literal、document/literal(wrapped)、rpc/encoded、rpc/literal样式的web服务对应的soap消息格式,对于理解webservice有很大好处,尤其是根据wsdl构造soap消息,非常有价值。

    Java术语详解(JMS、RPC、Ajax、SOAP、WSDL、JPA、ORM、mvc和JNDI)

    里面包含了:JMS、RPC、Ajax、SOAP、WSDL、JPA、ORM、mvc和JNDI九个术语的详解。认真读完本文,将显著提高你对JavaEE的认识。

    wsdl和uddi的资料

    介绍wsdl和uddi的例子 快下呀,我没积分了

    node-soap:node.js的SOAP客户端和服务器

    肥皂 Node.js的SOAP客户端和服务器。...soap.createClient(url [,options],callback)-从WSDL URL创建一个新的SOAP客户端。 还支持本地文件系统路径。 var soap = require ( 'soap' ) ; var ur

    RPC、RMI、SOAP的区别详解

    主要介绍了RPC、RMI、SOAP的区别详解,本文还同时讲解了RPC、SOAP、WSDL的关系,需要的朋友可以参考下

    gsoap 2.8 (SOAP/XML 关于C/C++ 语言的自动化实现工具内附 CSharp webservice例子,及GSOAP client和server例子)

     ×gSOAP支持WSDL 1.1, SOAP 1.1, SOAP 1.2, SOAP RPC 编码方式以及 literal/document 方式.  ×gSOAP是少数完全支持SOAP1.1 RPC编码功能的工具包,包括多维数组及动态类型。比如,一个包含一个基类参数的远程方法...

    indysoap:用于Delphi(版本5-> XE3 +)的SOAP / WSDL库-开源

    IndySoap是一个开放源代码库,用于使用Delphi / CBuilder编译器实现Web服务。 尽管包括基于Indy的运输... 功能列表:* RPC和Doc | Lit支持*使用接口的肥皂* WSDL生成* WSDL导入器*经过DUnit广泛测试*还有很多其他功能

    Python的RPC框架Agnos.zip

    Agnos是一种跨语言,跨平台,轻量级的RPC传递对象按值或引用支持框架。...该项目基本上是作为服务器如SOAP,WSDL和CORBA和其他现有技术同样的目的,但需要对当前的问题简约的做法。 标签:Agnos

    soap-server:SOAP 1.1和1.2服务器的纯PHP实现

    无需在生产中解析WSDL / XSD IDE类型提示支持 仅支持文档/文字样式,并且Web服务应遵循准则。 没有计划支持不建议使用的rpc和编码样式。 不遵循WS-I规范的Web服务可能会起作用,但是正式不支持它们。 演示版 是一...

    reactphp-soap:简单的异步 SOAP 网络服务客户端,构建在 ReactPHP 之上

    最值得注意的是,SOAP 通常用于在分布式系统中调用(RPC)。 在内部,SOAP 消息被编码为 XML 并且通常通过 HTTP POST 请求发送。 在大多数情况下,SOAP(最初是简单对象访问协议)是过去的协议,实际上绝非简单。 ...

    axis-bin-1_4.zip

    RPC和基于消息的SOAP服务提供者。 从部署好的服务自动生成WSDL。 WSDL2Java工具可以从WSDL描述文件中产生相应的客户和服务器端SOAP操作框架。 初步提供安全扩展,能够与Servlet2.2安全集成。 通过HTTP Cookie和与...

    ni-soap:Soap 模块更改为与 ni articheture 一起使用

    soap.createClient(url, callback) - 从 WSDL url 创建一个新的 SOAP 客户端。 还支持本地文件系统路径。 var soap = require ( 'soap' ) ; var url = 'http://example.com/wsdl?wsdl' ; var args = { name : '...

    SOAP 1.1和1.2客户端规范PHP实现-PHP开发

    优点:纯PHP,不依赖于ext-soap可扩展(支持JMS事件侦听器)PSR-7 HTTP消息兼容的多HTTP客户端(头晕,嗡嗡声,卷曲,React)无需在生产IDE类型提示上进行WSDL / XSD解析仅文档/支持文字样式,并且Web服务应遵循WS-I...

    burlap-spring-demo

    这使得他可以移植到任何可以解析XML的语言中 比起Hessian 它的可读性更强 和其他基于Xml的远程技术(如SOAP和XML RPC)不同 它的消息结构尽可能简单 不需要额外的外部定义语言 如WSDL或IDL Hessian Burlap是Caucho...

    C++网络工具包 POCO C++ Libraries

    C++网络工具包 POCO提供远程处理RPC / IPC和SOAP / WSDL的Web服务,开放式服务平台建设模块化,可扩展的应用程序…等等。 它用以开发基于网络的可移植的应用程序,功能涉及线程、线程同步、文件系统访问、流操作、...

    java webservice 详细开发示例介绍

    早期的基于 SOAP 的 JAVA 的 Web 服务规范 JAX-RPC(Java API For XML-Remote Procedure Call)目前已经被JAX-WS规范取代,JAX-WS 是JAX-RPC 的演进 版本,但 JAX-WS 并不完全向后兼容 JAX-RPC,二者最大的区别就是...

    Java Web 服务编程指南part01

    本书向读者介绍了当前Web服务的核心技术,全书共14章,主要内容包括SOAP、WSDL和UDDI等。本书主要讲述的Web服务是当前程序设计领域中的一项最新技术,它用中性平台标准(例如HTTP和XML)在分布式应用程序之间实现跨...

    Java Web 服务编程指南part02

    本书向读者介绍了当前Web服务的核心技术,全书共14章,主要内容包括SOAP、WSDL和UDDI等。本书主要讲述的Web服务是当前程序设计领域中的一项最新技术,它用中性平台标准(例如HTTP和XML)在分布式应用程序之间实现跨...

Global site tag (gtag.js) - Google Analytics