SimpleXMLRPCServer で None を返せるようにする

下のエントリの Queue Server で Queue にエントリを追加するコードを書こうとして軽くはまったのでメモ。
XML-RPC の規格なのかどうかは良く知らないが、Python の SimpleXMLRPCServer はデフォルトでは None を返せないらしい。None を返せるようにするには SimpleXMLRPCServer のインスタンス生成のときに allow_none=True を指定する。

server = SimpleXMLRPCServer.SimpleXMLRPCServer((host, port), allow_none=True)

で、クライアントの xmlrpclib.ServerProxy のほうも allow_none の引数があるので、必要なのかと思いきやこっちは別に指定しなくても大丈夫だった。謎。
とりあえず「cannot marshal None unless allow_none is enabled」なんていわれたら allow_none を指定すると。ってエラーメッセージのままだし、ドキュメントにも書いてあるんだけどね。
あ、コードを比較したら SimpleXMLRPCServer に allow_none が登場したのは Python 2.5 か。ってことで 2.5 以降の話ってことで。