它们只是相同的协议还是不同的东西? 我只是对此感到困惑。实际上,我想用Python编写一个用ASP.NET编写的Web服务。我试过XMLRPC,但它似乎只是没有工作。任何人都可以解释XMLRPC,SOAP和C#Web服务之间的区别吗?
那么它们之间的实际区别是什么? 谢谢。
它们只是相同的协议还是不同的东西? 我只是对此感到困惑。实际上,我想用Python编写一个用ASP.NET编写的Web服务。我试过XMLRPC,但它似乎只是没有工作。任何人都可以解释XMLRPC,SOAP和C#Web服务之间的区别吗?
那么它们之间的实际区别是什么? 谢谢。
它们都使用相同的传输协议(HTTP)。
XMLRPC使用XML格式化传统的RPC调用以进行远程执行。
SOAP将调用封装在SOAP信封中(仍然是XML,不同的格式,面向基于消息的服务而不是RPC样式调用)。
如果您使用C#,最好的选择可能是基于SOAP的Web服务(至少在您列出的选项中)。
它们是完全不同的协议,您需要找出您希望使用的Web服务所使用的协议并对其进行编程。 Web服务实际上只是一个概念XML-RPC,SOAP和REST是实际技术实现这一概念。这些实现是而不是可互操作(没有一些翻译层)。
所有这些协议基本上可以实现相同的功能,通过网络调用远程某些应用程序。然而,他们如何做到这一点的细节不同,它们不仅仅是同一协议的不同名称。
为了调用用C#编写的Web服务,您将需要能够使用WSDL的SOAP库(除了此处提及的所有有用术语外,还请检查它)。我碰到过的库有:
Python Web services页面有更多的信息和不同相关链接库。
xml-rpc:它是一种调用远程过程的函数,用于分布式系统集成的跨网络功能。它使用基于XML的消息文档和HTTP作为传输协议。此外,它仅支持6种基本数据类型以及通信阵列。 SOAP:SOAP也是使用HTPP传输协议进行信息交换的基于XML的协议。但是,它比XML-RPC协议更先进。它使用XML格式的消息,有助于在分布式应用程序之间传递复杂的数据类型,因此现在被广泛使用。
+1为资源链接。还想指出的是,C#中存在XML-RPC库,因此绝大多数C#Web服务都是SOAP,所以可以使用XML-RPC。 – 2009-12-04 15:43:47