XML和SOAP之间的区别

时间:2010-03-11 15:16:07

标签: xml soap

XML和SOAP有什么区别?我一直在阅读一些关于SOAP的介绍性文章,但我很困惑。这是我第一次阅读SOAP,所以这很自然。

有人可以向我解释一下SOAP是什么以及它用于什么?也许给我一些使用它的例子?

3 个答案:

答案 0 :(得分:19)

在阅读了所有其他好的答案后,我认为提供“超级外行”版本可能会有所帮助。我希望它有所帮助。


SOAP就像使用邮政服务的计算机版本。信息(如信件)放在信封中,然后发送给预定的人。

SOAP主要是XML词汇表。它使用XML规范定义了一种语言,用于如何寻址和发送发送消息。

具体来说,它标准化了我们所说的:

  • “信封”(实际上称为SOAP信封)
  • “信”(称为“身体”)
  • 各种注释(称为“标题” - 考虑这些类似邮票,签名请求,发件人信息等 - 邮局用于路由邮件)

此外,SOAP定义了type-system,非常类似于.Net,Java或XSD中的类型定义。我不会详细说明这一点 - 因为前面的答案中提到了很多文档。

这种语言/词汇表的主要设计重点是允许跨平台的互操作性。因此,Java调用COM,调用.Net,调用J2EE和其余部分,同时在可预见的未来保持可扩展性。我们可以简单地使用SOAP来公开对象的功能,而不是在COM对象和Java类之间构建另一个桥接,这样其他平台就可以在不需要桥接的情况下使用它们。或者,换句话说 - SOAP是最后一座桥,旨在取代所有以前的桥梁。

到目前为止,所有主要的开发工具包都有某种形式的SOAP支持。这使得互操作性越来越多 - 但在大多数环境中,仍然需要一定程度的配置才能使通信真正无缝。

我还应该注意,SOAP不再代表其原始意图。在某些时候,我认为一些重要的人会(重新)命名它:Service Oriented Access Protocol

我希望这有帮助!

答案 1 :(得分:10)

维基百科有一个很棒的article,包括一个好的example

  

SOAP,最初定义为简单对象访问协议,是用于在计算机网络中实现Web服务时交换结构化信息的协议规范。

一个非常好的实际例子:

  

作为外行人如何使用SOAP过程的示例,可以使用搜索所需的参数将SOAP消息发送到启用Web服务的网站(例如,房价数据库)。然后,该站点将返回一个XML格式的文档,其中包含结果数据(价格,位置,功能等)。由于数据以标准化的机器可解析格式返回,因此可以直接集成到第三方站点。

答案 2 :(得分:2)

SOAP是一种在网络上用于调用web-services的消息传递协议 消息格式使用XML,由WSDL描述为wizdil。

WSDL也是XML文档。

XML是一种文档格式,它使用标记来标识文件的内容,其用法比SOAP和WSDL更广泛,后者是特定类型的XML。
请参阅http://www.w3schools.com/xml/default.asp

的w3schools XML教程