简单对象访问协议 (SOAP) 标准是一种 XML 语言,定义了消息架构和消息格式,被 Web 服务使用,它包含对操作的描述。 WSDL 是一种基于 XML 的语言,用于描述 Web 服务以及如何访问它们。将在 SMTP、HTTP、FTP 等上运行。需要中间件支持,定义良好的机制来定义 WSDL+XSD 等服务,WS-Policy SOAP 将返回基于 XML 的数据 SOAP 提供安全性和可靠性标准
具象状态传输 (RESTful) 网络服务。它们是第二代 Web 服务。 RESTful Web 服务通过 HTTP 进行通信,而不是基于 SOAP 的服务,并且不需要 XML 消息或 WSDL 服务 API 定义。对于 REST 不需要中间件,只需要 HTTP 支持。WADL 标准,REST 可以返回 XML、纯文本、JSON、HTML 等
t 对于许多类型的客户端来说,使用 RESTful Web 服务更容易,同时使服务器端能够发展和扩展。客户可以选择使用该服务的部分或全部方面,并将其与其他基于 Web 的服务混搭。
REST uses standard HTTP so it is simplerto creating clients, developing APIs
REST permits many different data formats like XML, plain text, JSON, HTML where as SOAP only permits XML.
REST has better performance and scalability.
Rest and can be cached and SOAP can't
Built-in error handling where SOAP has No error handling
REST is particularly useful PDA and other mobile devices.
REST 是易于与现有网站集成的服务。
SOAP 具有一组协议,这些协议提供安全性和可靠性等标准,并与其他符合 WS 的客户端和服务器互操作。 SOAP Web 服务(如 JAX-WS)在处理异步处理和调用方面很有用。
对于复杂 API 的 SOAP 会更有用。