Espacios de nombres XML en ASP.NET Web API

Actualmente estoy trabajando en un proyecto que me obliga a generar XML desde sus puntos finales junto con JSON. Tengo el siguiente modelo:

[DataContract(Namespace="http://www.yale.edu/tp/cas")]
[XmlType("serviceResponse")]
[XmlRoot(Namespace="http://www.yale.edu/tp/cas")]
public class ServiceResponse
{
    [XmlElement("authenticationSuccess")]
    public AuthenticationSuccess Success { get; set; }

    [XmlElement("authenticationFailure")]
    public AuthenticationFailure Failure { get; set; }
}

La salida es la siguiente cuando el éxito no es nulo:

<serviceResponse>
<authenticationSuccess />
</serviceResponse>

Ahora, puedo ver que, obviamente, no tengo un prefijo asignado al espacio de nombres del que les dije a los elementos que formaran parte. Mi problema es que no puedo encontrar un lugar para agregar los prefijos de espacio de nombres en MVC4 usando el formateador de medios. Tengo lo siguiente en mi global.asax:

GlobalConfiguration.Configuration.Formatters.XmlFormatter.UseXmlSerializer = true;
GlobalConfiguration.Configuration.Formatters.XmlFormatter.RemoveSerializer(typeof(Models.ServiceResponse));
GlobalConfiguration.Configuration.Formatters.XmlFormatter.SetSerializer(typeof(Models.ServiceResponse), new Infrastructure.NamespaceXmlSerializer(typeof(Models.ServiceResponse)));

Hice un serializador personalizado basado en XmlSerializer en un intento de interceptar la solicitud de escritura y pegar la lista de espacios de nombres allí. El problema con este método es que en este momento tengo puntos de interrupción dentro de cada método que se puede cambiar y ninguno de ellos se desconecta cuando se serializa, lo que me hace creer que no se está utilizando mi serializador.

¿Hay alguna forma integrada para lograr lo que quiero hacer o me estoy quedando atascado al volver a implementar XmlMediaTypeFormatter para pasar espacios de nombres cuando serializa objetos?

Respuestas a la pregunta(1)

Su respuesta a la pregunta