2009-12-04 18 views

回答

5

它们都使用相同的传输协议(HTTP)。

XMLRPC使用XML格式化传统的RPC调用以进行远程执行。

SOAP将调用封装在SOAP信封中(仍然是XML,不同的格式,面向基于消息的服务而不是RPC样式调用)。

如果您使用C#,最好的选择可能是基于SOAP的Web服务(至少在您列出的选项中)。

3

它们是完全不同的协议,您需要找出您希望使用的Web服务所使用的协议并对其进行编程。 Web服务实际上只是一个概念XML-RPC,SOAP和REST是实际技术实现这一概念。这些实现是而不是可互操作(没有一些翻译层)。

所有这些协议基本上可以实现相同的功能,通过网络调用远程某些应用程序。然而,他们如何做到这一点的细节不同,它们不仅仅是同一协议的不同名称。

4

为了调用用C#编写的Web服务,您将需要能够使用WSDL的SOAP库(除了此处提及的所有有用术语外,还请检查它)。我碰到过的库有:

  • suds是一个轻量级的SOAP python客户端。
  • ZSI是功能更强大的库,它也具有复杂类型的WSDL消耗。
  • SOAPpy是不错的图书馆。不幸的是它自2005-02-22以来没有更新,所以我在此提供它仅供参考。

Python Web services页面有更多的信息和不同相关链接库。

+0

+1为资源链接。还想指出的是,C#中存在XML-RPC库,因此绝大多数C#Web服务都是SOAP,所以可以使用XML-RPC。 – 2009-12-04 15:43:47

1

xml-rpc:它是一种调用远程过程的函数,用于分布式系统集成的跨网络功能。它使用基于XML的消息文档和HTTP作为传输协议。此外,它仅支持6种基本数据类型以及通信阵列。 SOAP:SOAP也是使用HTPP传输协议进行信息交换的基于XML的协议。但是,它比XML-RPC协议更先进。它使用XML格式的消息,有助于在分布式应用程序之间传递复杂的数据类型,因此现在被广泛使用。

相关问题