使用简单的HTTP请求接收和发送带有JSON的数据。而在SOAP中,我们需要处理很多事情。解析XML有时也很难。甚至Facebook在Graph API中使用JSON。我仍然想知道为什么还应该使用SOAP?是否有任何理由或领域SOAP仍然是更好的选择? (尽管有数据格式)
此外,在简单的客户端 - 服务器应用程序(如与服务器连接的移动应用程序)中,SOAP可以提供优于JSON的任何优势吗?
如果有人能够根据我提供的信息(如果有的话)争取JSON和SOAP之间的主要/显着差异,我将非常感激。
答案 0 :(得分:29)
我发现了以下有关SOAP
的优点如果要创建客户端应用程序并且使用SOAP完成服务器实现,则必须在客户端使用SOAP。
答案 1 :(得分:21)
如今SOAP是一个完全矫枉过正的恕我直言。很高兴使用它,很高兴学习它,它很漂亮我们现在可以使用JSON。
SOAP和REST服务之间的唯一区别(无论是否使用JSON)是SOAP WS始终拥有自己的 WSDL 文档,可以在REST中轻松转换为自描述文档必须为自己编写文档(至少记录数据结构)。以下是我的两个优点:
总而言之,我认为没有理由选择SOAP over REST (和JSON)。两者都可以这样做,在几乎所有流行的 web 编程语言中都有对JSON编码和解码的本机支持,并且使用JSON,您可以获得更多自由,并且可以从大量无用的信息垃圾中清除HTTP传输。 如果我现在要构建任何API,我会使用REST和JSON。
答案 2 :(得分:6)
我对这里看到的JSON趋势不以为然。虽然JSON是一个更容易的订单,但我敢说它非常有限。例如,SOAP WS不是最后一件事。实际上,在soap客户端/服务器之间,您现在拥有企业服务总线,基于加密的身份验证方案,用户管理,时间戳请求/回复等。对于所有这些,有一些巨大的软件平台提供围绕SOAP的服务(嗯, “Web服务”)并将在XML中注入内容。因此虽然JSON对于小型项目来说可能已经足够了,并且在那里容易一个数量级,但我认为如果你将传输控制与内容分离(即你开发内容,实际的服务器,但是所有的传输都是管理的)它变得非常有限由另一个团队,另一个团队进行身份验证,由另一个团队部署)。我不知道我在大公司的经历是否相关,但我会说JSON不会在那里生存。除了数据表示的基本需求之外,还有太多限制。所以问题不在于JSON RPC本身,问题在于它错过了额外的工具来管理复杂应用程序中出现的复杂性(并不是说你做的事情并不复杂,只是说软件反映了公司的复杂性。生产它)
答案 3 :(得分:1)
我是PHP / JS开发人员。 JSON的原因很简单。 JSON == JS对象。
SOAP很好,但是很重。问题是。这是值得的?有时是的。有时候不行而且在大多数情况下,无论如何都需要在末尾使用JSON。
公司之所以使用SOAP,是因为它们与成千上万的其他实体交换数据,并且它们需要数据的完整性。我认为对于中小型项目,SOAP太重了。