我了解到我们可以在xml中编码任何对象,并通过http在发帖请求中发送xml。因此,使用soap有什么额外的优势,以及为什么它很受欢迎。
答案 0 :(得分:0)
您的问题非常笼统,广泛,因此可能需要就SOAP是否流行及其优缺点进行长时间的讨论/辩论。甚至不确定其重复的问题。
我想尽快回答。
因为SOAP是标准的,因为W3.org接受/发布了SOAP,因此被广泛接受,而XML RPC或仅基于HTTP的XML则不被接受,因此对于组织/服务提供商/开发人员来说不那么受欢迎。
每个Wiki的SOAP
SOAP(原始简单对象访问协议)是一种消息传递协议规范,用于在计算机网络中实施Web服务时交换结构化信息。其目的是引起可扩展性,中立性和独立性。它使用XML信息集作为其消息格式,并依靠应用程序层协议(通常是超文本传输协议(HTTP)或简单邮件传输协议(SMTP))进行消息协商和传输。
根据Wiki的HTTP上的XML
XML-RPC是一种远程过程调用(RPC)协议,该协议使用XML对其调用进行编码,并使用HTTP作为传输机制。1“ XML-RPC”也泛指将XML用于远程过程呼叫,与特定协议无关。本文是关于名为“ XML-RPC”的协议的。
因此,HTTP上的XML是SOAP的子集。 意思是,每个SOAP事务也是HTTP / HTTPS上的XML,但是每个HTTP / HTTPS上的XML都不是SOAP。
SOAP示例XML
<?xml version="1.0"?>
<soap:Envelope
xmlns:soap="http://www.w3.org/2003/05/soap-envelope/"
soap:encodingStyle="http://www.w3.org/2003/05/soap-encoding">
<soap:Header>
...
</soap:Header>
<soap:Body>
...
<soap:Fault>
...
</soap:Fault>
</soap:Body>
</soap:Envelope>
基于HTTP的XML示例:
<array>
<data>
<value><i4>1404</i4></value>
<value><string>Something here</string></value>
<value><i4>1</i4></value>
</data>
</array>
我建议您仔细研究更多细节,这两个主题都是广泛的话题,我认为不能100%地解决堆栈溢出问题。