XML和SOAP之间的区别

Ric*_*nop 10 xml soap

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

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

Mar*_*mit 20

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


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.

我希望这有帮助!


Der*_*air 10

维基百科有一篇精彩的文章,包括一个很好的例子.

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

一个非常好的实际例子:

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