【发布时间】:2010-12-23 06:47:11
【问题描述】:
它们只是相同的协议还是不同的东西? 我只是对此感到困惑。 实际上,我想通过 Python 用 ASP.NET 调用用 C# 编写的 Web 服务。我已经尝试过 XMLRPC,但它似乎不起作用。
那么它们之间的实际区别是什么? 谢谢。
【问题讨论】:
标签: c# python web-services xml-rpc
它们只是相同的协议还是不同的东西? 我只是对此感到困惑。 实际上,我想通过 Python 用 ASP.NET 调用用 C# 编写的 Web 服务。我已经尝试过 XMLRPC,但它似乎不起作用。
那么它们之间的实际区别是什么? 谢谢。
【问题讨论】:
标签: c# python web-services xml-rpc
xml-rpc:它是一种跨网络调用远程过程和函数以进行分布式系统集成的机制。它使用基于 XML 的消息文档和 HTTP 作为传输协议。此外,它只支持6种基本数据类型以及用于通信的数组。
SOAP:SOAP 也是基于 XML 的协议,用于使用 HTTPPP 传输协议进行信息交换。但是,它比 XML-RPC 协议更先进。它使用 XML 格式的消息,有助于在分布式应用程序中传递复杂的数据类型,因此现在被广泛使用。
【讨论】:
它们是完全不同的协议,您需要找出您希望使用的 Web 服务使用的协议并对其进行编程。 Web 服务实际上只是一个概念 XML-RPC,SOAP 和 REST 是实现这个概念的实际技术。这些实现是不可互操作的(没有一些翻译层)。
所有这些协议都支持基本相同的事情,通过网络调用远程某些应用程序。然而,它们如何做到这一点的细节有所不同,它们不仅仅是同一协议的不同名称。
【讨论】:
为了调用用 C# 编写的 Web 服务,您需要能够使用 WSDL 的 SOAP 库(除了这里提到的所有有用术语之外,请查看它)。我遇到的几个图书馆:
Python Web services 页面有更多关于不同相关库的信息和链接。
【讨论】:
它们都使用相同的传输协议 (HTTP)。
XMLRPC 使用 XML 格式化传统的 RPC 调用以进行远程执行。
SOAP 将调用包装在 SOAP 信封中(仍然是 XML,不同的格式,面向基于消息的服务而不是 RPC 样式调用)。
如果您使用 C#,最好的选择可能是基于 SOAP 的 Web 服务(至少在您列出的选项中)。
【讨论】: