繁体   English   中英

何时在Web服务方面使用SOAP而不是REST?

[英]When to use SOAP instead of REST in terms of web services?

目前我正在学习ASP.NET中的新主题Web服务,但我不了解Web服务中SOAP和RESTful的概念以及如何在.NET中创建这些类型的服务。

SOAP的一个主要优点是您拥有WSDL服务描述。 您几乎可以自动发现服务并从该服务描述生成可用的客户端代理(生成服务调用,方法所需的数据类型等)。 请注意,对于版本2.0,WSDL支持所有HTTP谓词,并且也可以用于记录RESTful服务,但是为此目的,在WADL(Web应用程序描述语言)中有一个不那么冗长的替代方案。

使用RESTful服务,消息安全性由传输协议(HTTPS)提供,并且仅是点对点的。 它没有标准的消息传递系统,并期望客户端通过重试来处理通信故障。 SOAP内置了成功/重试逻辑,即使通过SOAP中介提供端到端的可靠性。

RESTful API的一个主要优点是它可以灵活地进行数据表示,例如,您可以使用XML或JSON格式序列化数据。 RESTful API更清晰或更容易理解,因为它们添加了使用标准化URI的元素,并重视使用的HTTP动词(即GET,POST,PUT和DELETE)。

RESTful服务也很轻量级,也就是说它们没有很多额外的xml标记。 要调用RESTful API,您只需要一个浏览器或HTTP堆栈,几乎所有连接到网络的设备或机器都具有该功能。

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

参考: http//blog.manishchhabra.com/2013/04/rest-and-soap-web-services-analogy/

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM