Xmlrpc: 500 internal server error


#1

I wrote this little server, and a simple client remote using Tk, using
the fabulous XMLRPC:

#!/usr/bin/ruby
require “xmlrpc/server”
require ‘xmms’

s = XMLRPC::Server.new(8080, ‘172.17.0.3’)
s.add_handler(XMLRPC::iPIMethods(“xmms”), Xmms::Remote.new)
s.serve

This works fabulously, however for many calls (but not all), the client
gets an exception raised: RuntimeError: HTTP-Error: 500 Internal Server
Error

The exception is raised, but the command (e.g. prev, next, pause, play,
etc.) works perfectly. I think it might have to do with return type,
because functions that return a value, like title, do not raise the
exception. Should I wrap Xmms::Remote in some kind of proxy that
coerces the return type of methods into something XMLRPC likes?