- SOAP Web服务是基于标准的,并且几乎受每个软件平台的支持:它们高度依赖XML,并支持事务,安全性,异步消息和许多其他问题。这是一个相当大且复杂的标准,但几乎涵盖了所有消息传递情况。另一方面,RESTful服务依赖于HTTP协议和动词(GET,POST,PUT,DELETE)来交换任何格式的消息,最好是JSON和XML。这是一种非常简单而优雅的架构方法。
- 就像Java世界中的每个主题一样,有多个库可以构建/使用Web服务。在SOAP Side中,您具有JAX-WS标准和Apache Axis,在REST中,您可以在其他库中使用Restlets或Spring REST工具。
对于问题3,本文指出RESTful
Services在这种情况下适用:
- 如果带宽有限
- 如果您的操作是无状态的:从一次调用到下一次调用不会保留任何信息,并且每个请求都将被独立处理。
- 如果您的客户需要缓存。
在以下情况下,SOAP是必经之路:
- 如果需要异步处理
- 如果您需要正式合同/接口
- 在服务中,操作是有状态的:例如,您在一个请求上存储信息/数据,并在下一个请求上使用该存储的数据。



