XMLRPCLib gibt nur leeren Tupel aus

Sockets, TCP/IP, (XML-)RPC und ähnliche Themen gehören in dieses Forum
Antworten
Benutzeravatar
Godard32
User
Beiträge: 1
Registriert: Dienstag 21. August 2007, 13:30

Hallo,
Ich spiele zurzeit ein bisschen mit python, xml-rpc und rtorrent herum.
Hierbei bin ich auf folgendes Problem gestossen:
Viele Funktionen klappen wunderbar, nur bei einigen habe Ich das Problem, dass der Aufruf der Funktion egal mit welchem Parameter immer nur einen leeren Tupel als Ergebnis herauswirft.
Wenn ich dagegen die selbe Funktion mit dem selben Parameter mit einem anderen XMLRPC-Client aufrufe (xmlrpc aus dem xmlrpc-c paket) bekomme ich einen 64bit integer.
Weiss jemand was ich falsch mache?
--
edit:
Nach etwas rumprobieren steht nun fest dass alle Funktionen die einen String oder Array als Ergebnis haben wunderbar funktionieren, aber alle Funktionen die einen (64bit-)Integer zurückgeben in python kein Ergebnis anzeigen.

Hier der Log:

Code: Alles auswählen

Python 2.4.4 (#2, Jul 21 2007, 11:00:24)
[GCC 4.1.3 20070718 (prerelease) (Debian 4.1.2-14)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import xmlrpclib
>>> server = xmlrpclib.ServerProxy('http://localhost/RPC2')
>>> server.download_list()
['393EED85D29A0F131E0111AFF17E16E11C673F6C', 'F178A7529BB183F9529F005833BA9CB4AAD7B3FC', '2921D2172CD50496CECF2471B7D75FC856EF2FBA', '3F99CCF00E3CB4FED73AD4C2DA37FBEDF10DDA97']
>>> server.d.get_bytes_done('393EED85D29A0F131E0111AFF17E16E11C673F6C')
()
>>>

Code: Alles auswählen

[jojo@osiris]~/sources/xmlrpcclient% ./xmlrpc localhost/RPC2 d.get_bytes_done 393EED85D29A0F131E0111AFF17E16E11C673F6C
Result:
64-bit integer: 3300038656
[jojo@osiris]~/sources/xmlrpcclient%
--
update2:
Es sieht so aus als ob python den richtigen Wert kriegt, ihn aber falsch interpretiert:

Code: Alles auswählen

 >>> server = xmlrpclib.ServerProxy('http://localhost/RPC2',verbose=True)
 >>> server.d.get_bytes_done('393EED85D29A0F131E0111AFF17E16E11C673F6C')
 connect: (localhost, 80)
 send: 'POST /RPC2 HTTP/1.0\r\nHost: localhost\r\nUser-Agent: xmlrpclib.py/1.0.1 (by www.pythonware.com)\r\nContent-Type: text/xml\r\nContent-Length: 200\r\n\r\n'
 send: "<?xml version='1.0'?>\n<methodCall>\n<methodName>d.get_bytes_done</methodName>\n<params>\n<param>\n<value><string>393EED85D29A0F131E0111AFF17E16E11C673F6C</string></value>\n</param>\n</params>\n</methodCall>\n"
 reply: 'HTTP/1.1 200 OK\r\n'
 header: Date: Tue, 21 Aug 2007 14:39:34 GMT
 header: Server: Apache/2.2.4 (Debian) mod_python/3.3.1 Python/2.4.4 PHP/5.2.3-1+b1 mod_scgi/1.12
 header: Content-Length: 149
 header: Connection: close
 header: Content-Type: text/xml
 body: '<?xml version="1.0" encoding="UTF-8"?>\r\n<methodResponse>\r\n<params>\r\n<param><value><i8>3300038656</i8></value></param>\r\n</params>\r\n</methodResponse>\r\n'
 ()
 >>>
Antworten