基于SOAP的Web服务在哪个时候不符合REST架构?

时间:2014-09-05 08:49:01

标签: rest soap

使用SOAP和RESTful Web服务对Webservices进行了大量讨论。但我不确切地知道使用WSDL,UDDI和SOAP的Web服务在哪些方面不符合REST架构?

2 个答案:

答案 0 :(得分:-2)

在大多数情况下。我有more elaborate answer here。但要简短。我猜你在谈论具有RPC绑定风格的SOAP web服务......它们是XML / RPC,而REST是REST。这里定义了非常具体的REST约束:Roy Fielding的Architectural Styles and the Design of Network-based Software Architectures

SOAP RPC Web服务如何满足REST约束:

  • 客户端 - 服务器架构 - 始终
  • 无国籍 - possibly
  • 缓存 - possibly
  • 统一界面 - 从不
  • 分层系统 - never
  • 按需代码(可选) - 可能

答案 1 :(得分:-2)

REST服务由其接口定义。要成为RESTful,它必须具有:

  1. 资源识别
  2. 通过陈述操纵
  3. 自我描述性错误消息
  4. 超媒体作为应用程序状态的引擎
  5. SOAP在前3个版本中做得不错,尽管它确实重新实现了#2和#3,因此它比依赖HTTP的底层协议更加冗长和不稳定。 SOAP真正偏离REST的地方是#4 - HATEOAS。正确设计的REST服务应该可以直接在Web浏览器中完全发挥作用。不可否认,大多数声称的" REST"服务也不这样做,但它至少是可能的。 SOAP需要使用大量工具。 (SoapUI是一个体面的。)