The class org.apache.xmlrpc.serializer.CharSetXmlWriterFactory overrides the method newXmlWriter method in its superclass but because of a spelling mistake it never gets called.
In org.apache.xmlrpc.serializer.BaseXmlWriterFactory there is a method defined as:
protected XMLWriter newXmlWriter()
In org.apache.xmlrpc.serializer.CharSetXmlWriterFactory the method is overriden as:
protected XMLWriter newXMLWriter()
Note the differece Xml/XML. Because of this CharSetXmlWriterFactory always returns instances of XMLWriterImpl rather than CharSetXMLWriter. I noticed this in the 3.0rc1 release and also in the svn trunk.