XML-RPC C#和Python RPC服务器
发布时间:2020-12-16 23:10:21 所属栏目:百科 来源:网络整理
导读:在我的服务器上,我使用 Python的标准示例(使用额外的Hello World方法),在客户端,我使用C#中的XML-RPC.NET库. 但每次我运行我的客户端时,我都会得到一个例外,即找不到该方法.任何想法如何解决. 谢谢! Python: from SimpleXMLRPCServer import SimpleXMLRPCS
在我的服务器上,我使用
Python的标准示例(使用额外的Hello World方法),在客户端,我使用C#中的XML-RPC.NET库.
但每次我运行我的客户端时,我都会得到一个例外,即找不到该方法.任何想法如何解决. 谢谢! Python: from SimpleXMLRPCServer import SimpleXMLRPCServer from SimpleXMLRPCServer import SimpleXMLRPCRequestHandler # Restrict to a particular path. class RequestHandler(SimpleXMLRPCRequestHandler): rpc_paths = ('/RPC2',) # Create server server = SimpleXMLRPCServer(("",8000),requestHandler=RequestHandler) server.register_introspection_functions() # Register pow() function; this will use the value of # pow.__name__ as the name,which is just 'pow'. server.register_function(pow) # Register a function under a different name def adder_function(x,y): return x + y server.register_function(adder_function,'add') def HelloWorld(): return "Hello Henrik" server.register_function(HelloWorld,'HelloWorld') # Register an instance; all the methods of the instance are # published as XML-RPC methods (in this case,just 'div'). class MyFuncs: def div(self,x,y): return x // y server.register_instance(MyFuncs()) # Run the server's main loop server.serve_forever() C# namespace XMLRPC_Test { [XmlRpcUrl("http://188.40.xxx.xxx:8000")] public interface HelloWorld : IXmlRpcProxy { [XmlRpcMethod] String HelloWorld(); } [XmlRpcUrl("http://188.40.xxx.xxx:8000")] public interface add : IXmlRpcProxy { [XmlRpcMethod] int add(int x,int y); } [XmlRpcUrl("http://188.40.xxx.xxx:8000")] public interface listMethods : IXmlRpcProxy { [XmlRpcMethod("system.listMethods")] String listMethods(); } class Program { static void Main(string[] args) { listMethods proxy = XmlRpcProxyGen.Create<listMethods>(); Console.WriteLine(proxy.listMethods()); Console.ReadLine(); } } } 解决方法
如果您将声明更改为此可行吗?
[XmlRpcUrl("http://188.40.xxx.xxx:8000/RPC2")] 从Python docs:
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |