Pregunta

Tengo un servicio de WCF que se devuelve un XElement, esto está funcionando bien sin embargo me gustaría incluir la Declaración de XML en la respuesta:

<?xml version="1.0" encoding="utf-8"?>

El lado cliente no "no se XML Resultado" es algo que puedo cambiar y está reportando un Las únicas diferencias entre la respuesta de mi resultado HTTP es el tipo de contenido de mi servicio WCF:

Content-Type: application/xml; charset=utf-8

vs.

Content-Type: text/xml; charset=utf-8

supongo que el "resultado no es XML" está siendo causado por la Declaración de XML que falta. ¿Cómo es posible añadir la Declaración de XML para la respuesta XElement? Pensé que un MessageFormatter podría ser capaz de solucionar este problema, sin embargo, no tengo idea de por dónde empezar.

¿Fue útil?

Solución

XDocument Clase general para una muestra rápida de cómo añadir la declaración XML a su salida.

A pesar de que tengo que estar de acuerdo con @ John, su poco probable que la declaración XML que falta es el problema a menos que el cliente está validando manualmente el XML como texto (lo cual sería un disparate que hacer, pero me he visto hacer) y es asumiendo que cualquier texto que falta la declaración XML no debe ser XML válido.

Si el cliente es un cliente .NET, a continuación, permitirá mensaje WCF registro y verificar lo que el cliente está recibiendo. Si el cliente no es un cliente .NET, a continuación, utilizar Netmon o Wireshark para inspeccionar el tráfico de carga útil para validar.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top