谁能解释一下XMLRPC、SOAP和C# Web服务之间的区别?
它们是同一种协议还是有什么不同呢?我有点搞不清楚。
其实,我想用Python来调用一个用C#和ASP.NET写的网络服务。我试过用XMLRPC,但好像没成功。
那么它们之间到底有什么实际的区别呢?谢谢。
4 个回答
3
它们是完全不同的协议,你需要弄清楚你想使用的网络服务所用的协议,然后根据这个协议进行编程。网络服务其实只是一个概念,XML-RPC、SOAP和REST是实现这个概念的具体技术。这些实现方式不能直接互通(除非有一些翻译层)。
这些协议基本上都能实现类似的功能,就是通过网络调用远程的某个应用。不过,它们实现这个功能的细节是不同的,它们并不是同一种协议的不同名称。
5
它们都使用相同的传输协议(HTTP)。
XMLRPC 是用 XML 格式化的传统远程过程调用,方便远程执行。
SOAP 则把调用包裹在一个 SOAP 信封里(仍然是 XML,只是格式不同,更倾向于基于消息的服务,而不是传统的远程过程调用)。
如果你在用 C#,那么你最好的选择可能是基于 SOAP 的 Web 服务(至少在你列出的选项中是这样)。