[英]XMLRPC c# client to python client - method does not exists
I've searched the web and seen the following question: XML-RPC C# and Python RPC Server 我在网上搜索并看到以下问题: XML-RPC C#和Python RPC Server
I'm trying for a while to do the same, but I fail. 我正在尝试做一阵子,但失败了。 I get the exception "Method "HelloWorld" is not supported..." 我收到异常“不支持方法“ HelloWorld” ...”
[XmlRpcUrl("http://192.168.0.xxx:8000/RPC2")]
public interface HelloWorld : IXmlRpcProxy
{
[XmlRpcMethod]
String HelloWorld();
}
private void button1_Click(object sender, EventArgs e)
{
try
{
HelloWorld proxy = CookComputing.XmlRpc.XmlRpcProxyGen.Create<HelloWorld>();
textBox1.Text = proxy.HelloWorld();
}
catch (Exception ex)
{
HandleException(ex);
}
}
And my Python server is: 我的Python服务器是:
class LGERequestHandler(SimpleXMLRPCRequestHandler):
rpc_paths = ('/RPC2',)
def HelloWorld():
return "This is server..."
server = SimpleXMLRPCServer(("192.168.0.xxx", 8000),
requestHandler=LGERequestHandler)
server.register_introspection_functions()
server.register_function("HelloWorld", HelloWorld)
server.register_instance(self)
# Run the server's main loop
server.serve_forever()
The server is up and running, but I still get an exception. 服务器已启动并正在运行,但是仍然出现异常。
I found the problem: 我发现了问题:
Syntax problem server.register_function("HelloWorld", HelloWorld)
should be server.register_function(HelloWorld, "HelloWorld")
. 语法问题server.register_function("HelloWorld", HelloWorld)
应该是server.register_function(HelloWorld, "HelloWorld")
。
This change also didn't work, so I changed the function name form helloWorld
to hello
and it worked(!) 此更改也没有起作用,因此我将函数名称形式从helloWorld
更改为hello
并成功了(!)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.