1
我在網上搜索,看到以下問題:XML-RPC C# and Python RPC ServerXMLRPC C#客戶端Python客戶端 - 方法不存在
我想了一會兒做同樣的,但我失敗了。我得到的異常「方法‘的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);
}
}
而且我的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()
服務器啓動並運行,但我仍然得到一個異常。
無效蟒蛇,在dedents不匹配縮進。請編輯您的答案以反映您遇到問題的實際代碼。 (提示:將代碼粘貼到編輯框中,選擇整個代碼塊,然後單擊「{}」按鈕以使縮進顯示正確) – SingleNegationElimination
看起來C#客戶端並未將該方法視爲「HelloWorld」。也許如果你註冊爲「HelloWorld.HelloWorld」,或者類似的東西。 – wberry