我是一个新手,对Java不熟悉。我知道有两种类型的Web服务:
- SOAP Web服务。
- RESTful Web服务。
请问有人可以告诉我它们之间的基本区别是什么?在什么情况下创建 SOAP Web服务
,在什么情况下创建 RESTful Web服务
?
谢谢!
我是一个新手,对Java不熟悉。我知道有两种类型的Web服务:
请问有人可以告诉我它们之间的基本区别是什么?在什么情况下创建 SOAP Web服务
,在什么情况下创建 RESTful Web服务
?
谢谢!
在非常基本的层面上,SOAP是一种消息协议,REST是一种设计哲学,而不是协议。当你基于SOAP协议创建一个Web服务时,你基本上要遵守SOAP创建服务请求的规则,将请求发送到服务器,接收服务器上的请求,处理请求并将结果返回为SOAP消息。SOAP并没有讨论客户端如何从服务中受益,也没有讨论如何设计客户端本身(除了发布的消息),它只告诉我们如何发送客户端的消息到服务端并返回。
REST是REpresentational State Transfer的缩写。它不指定创建消息并将其发布到服务器的规则。你可以通过简单的HTTP协议来完成这个过程。REST指定客户端和服务器管理它们的状态的方式,这样它们对客户端 - 服务器通信变得有用。在这里,你更关注客户端和服务器的状态设计,而不是它们交换的消息。
正如第一个答案所解释的那样,SOAP Web服务和REST Web服务在多个方面有所不同。
SOAP:
用于 SOAP WS 的一个很好但不容易入门的框架是 Apache CXF
REST(到目前为止没有实际经验,请随意纠正和改进 ;)):
我确定还有其他几个要点我漏掉了。但我认为这是一个有用的开始。