# Xmlrpc: 500 internal server error

**URL:** <https://www.ruby-forum.com/t/xmlrpc-500-internal-server-error/49561>\
**Category:** Ruby\
**Created:** [December 6, 2005, 3:49am UTC](https://www.ruby-forum.com/t/xmlrpc-500-internal-server-error/49561 "2005-12-06T03:49:12Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![fugalh](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/f/48db29/32.png) [@fugalh](https://www.ruby-forum.com/u/fugalh)\
**Post date:** [December 6, 2005, 3:49am UTC](https://www.ruby-forum.com/t/xmlrpc-500-internal-server-error/49561/1 "2005-12-06T03:49:12Z")

</div>

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?
