文档章节

RPC与Document绑定样式的权衡选择

柳哥
 柳哥
发布于 2014/04/10 12:53
字数 715
阅读 95
收藏 2

JWS支持RPC绑定样式也支持Document绑定样式,同时Document绑定样式为默认值。在这两种绑定样式中,依照Web服务基本概要(WS-I Basic Profile)的基本要求,这两种绑定样式只可以采用literal编码方式。在服务绑定样式上究竟选择RPC还是Document一直都是争论的话题。不管怎样,Document绑定样式,尤其是包装情况下,正在很快地被人们所认可。因此接下来简要地探讨这两种绑定样式选择上的权衡。

下面是RPC样式的一些优点

  • 由于已经有了类型定义,自动生成的WSDL文档非常精简。

  • WSDL文档中的消息可以直接反映出对应的基础web服务操作的名称,也就是在基于java语言的web服务中@WebMethod所注解的方法。因此从WSDL文档中人们可以直接获取服务操作的名称。

  • 由于不需要承载更多类型及编码信息,消息的传输往往是高效的。

下面是RPC样式的一些缺点

  • 由于WSDL中没有类型定义部分,因此不能够提供XSD文档来校验SOAP消息体。

  • 同样由于没有XSD来定义数据类型,服务能够使用的数据类型有限。因此服务只是局限于一些相对简单的类型,比如整数、字符串、日期、数组等。

  • 以此样式实现的java服务可能在其他语言平台下无法使用,这样也就违背了web服务的互用性原则。同样也就不会有来自web服务社区和WS-I小组的长期支持了。

下面是Document样式的一些优点

  • 可以利用WSDL文档类型部分的XSD文档直接来验证SOAP消息体。

  • XML模式语言除了支持整数、字符串及日期等这些简单数据类型之外,还支持任意复杂的类型,因此这种样式的web服务所使用的数据类型不受限制。

  • 只要在XSD中定义了明确的数据结构,如何构建SOAP消息体具有很大的灵活性。

  • 包装行为吸取了RPC样式的一个重要优点,即RPC样式中SOAP消息体可以直接通过与之关联的服务操作名称来命名,同时又摒弃了RPC样式的不足之处。

 下面是Document样式的不足之处

  • 在非包装版本中,SOAP消息中没有提供服务操作的名称,一些特定的程序代码在分发消息时可能会变得复杂。

  • 包装版本使得服务调用的复杂度有所增加,尤其是在API级别。

© 著作权归作者所有

柳哥
粉丝 207
博文 405
码字总数 347782
作品 0
杭州
技术主管
私信 提问
Document绑定样式服务的特点

在基于SOAP协议的web服务中,基于Document绑定样式的SOAP消息体一般包括完整的XML文档。而rpc绑定样式的服务中,在请求的SOAP消息中包括请求的参数,而在响应的SOAP消息中包括返回值。下面是...

柳哥
2014/03/23
149
0
包装的和非包装的Document绑定样式

在WS-I基本概要中针对web服务的互用性默认采用Document绑定样式。通过WSDL文档中数据类型部分定义的XSD文档,Document绑定样式在web服务的SOAP消息中提供了清晰而又明确的数据类型。Documen...

柳哥
2014/04/04
121
0
Amazon E-Commerce Web服务演示生成包装样式与非包装样式客户端

Amazon E-Commerce是亚马逊网站中的一个web服务,它可以分别基于SOAP和Rest风格的方式进行调用。WSDL地址如下:http://ecs.amazonaws.com/AWSECommerceService/AWSECommerceService.wsdl 生成...

柳哥
2014/04/07
311
1
JS切换卡效果

JS实现动画切换效果,大体实现效果为五个页面,依次触发相应按钮,类比轮播图进行相应页面效果的切换和替换。 参考某源码进行学习,如下: ③:给元素A绑定多个触发事件 ④:selector选择器一...

萧沐垚
2016/12/16
51
0
JDK1.6 自带webservice构建

JDK1.6中自带了webservice的功能,因为集成了JAX-WS,这非常方便,不用再用第三方包来开发了。 下面我们开始构建:   1,先用Eclipse建立一个动态网站,注意需要生成web.xml,建工程的时候...

Carl_
2014/09/14
185
6

没有更多内容

加载失败,请刷新页面

加载更多

【2019年8月版本】OCP 071认证考试最新版本的考试原题-第5题

choose the best answer The CUSTOMERS table has a CUST_LAST_NAME column of data type VARCHAR2. The table has two rows whose COST_LAST_MANE values are Anderson and Ausson. Which q......

oschina_5359
23分钟前
2
0
电脑怎样制作流程图?分享绘制流程图方法

流程图的绘制可以用很多方法来实现,小编经常使用电脑对流程图进行绘制,即简单又便利,相信很多朋友都因为不知道怎样绘制流程图而选择了放弃,今天这篇文章希望可以让大家重拾绘制流程图的信...

干货趣分享
25分钟前
2
0
Elasticsearch 7.x 之文档、索引和 REST API 【基础入门篇】

前几天写过一篇《Elasticsearch 7.x 最详细安装及配置》,今天继续最新版基础入门内容。这一篇简单总结了 Elasticsearch 7.x 之文档、索引和 REST API。 什么是文档 文档Unique ID 文档元数据...

泥瓦匠BYSocket
28分钟前
2
0
TL665x-EasyEVM开发板处理器、flash、RAM

TL665x-EasyEVM是广州创龙基于SOM-TL665x核心板研发的一款TI C66x多核定点/浮点高性能DSP开发板,采用核心板+底板方式,底板尺寸为200mm*106.65mm,采用4*50pin和1*80pin B2B工业级连接器,稳...

Tronlong创龙
33分钟前
2
0
DevExpress Report-XRTable绑定数据

将从跳转前的页面(A)中获取传入的数据(dtOrd、BatchID、ModelID),绑定到Report报表对应的控件 ,代码如下: this.xrtBatchID.Text = sBatchID; this.xrtModel.Text ...

_Somuns
34分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部