Strange change in xmlrpclib behavior
skip at pobox.com
Thu Sep 26 15:43:58 EDT 2002
>>>>> "Walt" == Walt Leipold <leipold at universal.dca.net> writes:
Walt> Any ideas? (BTW, it's xmlrpclib v0.9.8, Win2000 SP2 and NT4 SP6.)
Skip> Have you tried a more recent version of xmlrpclib and/or Python
Skip> 2.2.1 or Python from CVS?
Walt> I am now using Python 2.1.1, have tried xmlrpclib v0.9.9 without
Walt> success, and I'm just about desperate enough to go to the Python
Walt> CVS. I haven't moved to Python 2.2 because I'd have to rebuild my
Walt> serial library (but I may have to do that).
My thinking goes like this... Something had to have changed in your system
for it to suddenly stop working. I briefly tried running your code on my
Python CVS install here, but it failed because there is no xmlrpcserver
module. (It's SimpleXMLRPCServer, and has a different API.) so, to debug
this, either you have to move to a newer setup or I have to move to an older
setup. Guess which one is not going to happen. <wink>
Even if you don't deliver your software on a newer platform, installing
Python 2.2.1 (which you can do alongside 2.1 on Windows I believe) and
porting your example code to use SimpleXMLRPCServer then gives you access to
a lot more people who can help debug your problem.
Walt> However, what's *really* bugging me is that the code *used* to
Walt> work; even if moving to a slightly newer version fixes it, how can
Walt> I be sure it won't fail again? I shouldn't turn it over to my
Walt> customer until I understand what broke it in the first place...
Well, if it used to work, you changed nothing, and now it doesn't work, I'd
guess there is some sort of undetected race condition present in your
Walt> I'll probably end up junking XML-RPC and writing the socket code
Walt> using UDP or something similar, just so I can trust it.
Changing communication protocols without knowing that xmlrpclib is to blame
won't make the problem go away. It might hide it, or it might solve the
problem, but you won't know which.
More information about the Python-list