当前位置:  开发笔记 > 编程语言 > 正文

java中SOAP和RESTful Web服务之间的主要区别

如何解决《java中SOAP和RESTfulWeb服务之间的主要区别》经验,为你挑选了10个好方法。

跟进此帖子的问题:

目前我对SOAP和RESTful Services之间的差异略有了解.

我的问题是我何时应该使用SOAP,何时应该使用RESTful; 在性能/速度或请求处理方面,哪一个"更好"?

我正在RESTful(java)中第一次实现,我想要了解更多; 我以前处理过SOAP.



1> dj_segfault..:

REST几乎总是会更快.SOAP的主要优点是它提供了一种服务机制,可以向客户描述自己,并宣传它们的存在.

REST更轻量级,几乎可以使用任何工具实现,从而带来更低的带宽和更短的学习曲线.但是,客户必须知道要发送什么以及期望什么.

通常,当您向外部世界发布复杂或可能更改的API时,SOAP将更有用.除此之外,REST通常是更好的选择.


从Web服务消费者方面来说,何时应该使用REST以及何时应该使用SOAP?(假设提供了两个选项).根据我的理解,当消费者想要通过浏览器访问Web服务时,应该使用REST.因为浏览器可以理解XML和JSON.如果要以编程方式使用Web服务,那么似乎没有任何主要优势.事实上,SOAP似乎符合要求,因为它们更有条理(WSDL).我很感激你对此有所了解.
Andy,如果API很简单并且现有的调用不太可能改变,那么REST就没问题了.SOAP具有描述自身的正式流程的好处是,如果服务发生变化,您将立即知道并能够更轻松地适应它.

2> salman khali..:

REST与SOAP Web服务

我发现很多新的Web服务现在使用REST样式架构而不是SOAP架构.让我们退后一步,解释一下REST是什么.

什么是REST Web服务

首字母缩略词REST代表Representational State Transfer,这基本上意味着每个唯一的URL都是某个对象的表示.您可以使用HTTP GET获取该对象的内容,将其删除,然后您可以使用POST,PUT或DELETE来修改对象(实际上,大多数服务都使用POST).

谁在使用REST?

雅虎的所有Web服务都使用REST,包括Flickr,del.icio.us API使用它,pubsub,bloglines,technorati以及eBay和亚马逊都有REST和SOAP的Web服务.

谁在使用SOAP?

谷歌在实现其Web服务以使用SOAP方面保持一致,但Blogger除外,它使用XML-RPC.您还可以在许多企业软件中找到SOAP Web服务.

REST与SOAP

您可能已经注意到我提到的使用REST api的公司已经存在很长时间了,而且他们的apis今年大部分都出现了.所以REST绝对是创建网络服务的时髦方式,如果创建网络服务可能是时髦的(让我们面对你用肥皂洗,你在疲惫时休息).REST Web服务的主要优点是:

轻量级 - 没有太多额外的xml标记人类可读结果易于构建 - 无需工具包SOAP也具有一些优势:

易于使用 - 有时是刚性 - 类型检查,遵守合同开发工具对于消费Web服务,有时它之间的折腾更容易.例如,谷歌的AdWords网络服务真的很难消费(无论如何都是CF),它使用SOAP标头,以及许多其他使它变得困难的东西.相反,亚马逊的REST Web服务有时可能很难解析,因为它可以高度嵌套,结果模式可能会根据您搜索的内容而有所不同.

您选择哪种架构,确保开发人员可以轻松访问它,并且有详细记录.

Freitag,P.(2005)."REST与SOAP Web服务".来自http://www.petefreitag.com/item/431.cfm于2010年6月13日


请停止发布此文章或链接到它.这是从2005年开始,所以不太相关.此外,你不是作者,是吗?
如果REST应该是无状态的,那么Yahoo等如何将它们用于需要登录的网站?是不是违反了REST的第二定律(无国籍)
这篇10年的文章是否有意义?

3> kapil das..:

肥皂

简单对象访问协议(SOAP)标准是定义消息体系结构和消息格式的XML语言,由Web服务使用,它包含操作的描述.WSDL是一种基于XML的语言,用于描述Web服务以及如何访问它们.将运行在SMTP,HTTP,FTP等上.需要中间件支持,定义良好的机制以定义WSDL + XSD等服务,WS-Policy SOAP将返回基于XML的数据

REST Representational State Transfer(RESTful)Web服务.它们是第二代Web服务.RESTful Web服务,通​​过HTTP进行通信而不是基于SOAP的服务,并且不需要XML消息或WSDL服务API定义.对于REST,不需要中间件只需要HTTP支持.WADL标准,REST可以返回XML,纯文本,JSON,HTML等



4> Kalidoss.M..:

REST是一种架构.REST将提供人类可读的结果.REST是无状态的.REST服务很容易缓存.

SOAP是一种协议.它可以运行在JMS,FTP,Http之上.


尽管使用HTTP(如SOAP)可以很好地实现REST,但它并不局限于HTTP.

5> CharithJ..:

    REST没有WSDL [Web描述语言]接口定义.

    REST是通过HTTP进行的,但SOAP可以通过任何传输协议,如HTTP,FTP,SMTP,JMS等.


其余的WADL就像SOAP有WSDL一样
REST也可以用于HTTP,FTP,STMP
REST不仅仅是XML,它可以是通过HTTP传输的任何东西(纯文本,JSON,HTML等).

6> IRSHAD..:

REST代表Representational State Transfer,其中SOAP代表简单对象访问协议.

SOAP定义了自己的安全性,其中REST从底层传输继承安全性.

SOAP不支持错误处理,但REST具有内置错误处理功能.

REST是轻量级的,不需要XML解析.任何客户端都可以使用REST,甚至是使用Ajax和Javascript的Web浏览器.REST消耗的带宽较少,每个消息都不需要SOAP头.

REST对于提供URI的任何协议都很有用.忽略REST的第5点,如下图所示.

SOAP与REST


REST - 不仅通过HTTP,而且通过任何提供URI的协议.
SOAP具有内置的错误处理机制并发送回错误信息. https://www.tutorialspoint.com/soap/soap_fault. HTM

7> Waqas Ahmed..:

休息VS SOAP

肥皂:

►SOAP是在TCP/UDP/SMTP上运行的简单对象访问协议.
►XML格式的SOAP读写请求响应消息.
►SOAP使用接口来定义服务.
►SOAP更安全,因为它有自己的安全性和明确定义的标准.
►SOAP遵循RPC和Document样式来定义Web服务.
►SOAP使用SOAP-UI作为客户端工具进行测试.

休息

►REST是使用底层HTTP协议的代表性状态转移.
►REST无国籍.
►REST是一种架构风格,用于描述和定义Web服务.
►REST可以使用JSON/XML/Plain HTML读写请求响应消息. ►REST
为Web服务中使用的每个资源使用URI.资源可以是图像文本方法等
.►REST使用一组VERB,如HTTP的GET,POST,PUT,DELETE.
►与SOAP UI相比,REST易于开发且易于管理.
►REST具有轻量级客户端工具或插件,可轻松集成到浏览器中.
►REST服务可以缓存.



8> 小智..:

休息和肥皂之间的区别在此输入图像描述



9> 小智..:

肥皂网服务:

    如果您的应用程序需要有保证的可靠性和安全性,那么SOAP提供了额外的标准来确保这种类型的操作.

    如果双方(服务提供商和服务消费者)必须就交换格式达成一致,那么SOAP会为此类交互提供严格的规范.

RestWeb服务:

    完全无状态操作:用于无状态CRUD(创建,读取,更新和删除)操作.

    缓存情况:如果需要缓存信息.



10> 小智..:

SOAP Web服务总是进行POST操作,而使用REST,您可以选择特定的http方法,如GET,POST,PUT,DELETE.示例:要使用SOAP获取项目,您应该创建一个请求xml,但在REST的情况下,您只需在URL本身中指定项目ID.

推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有