Как ответ WCF XElement может включать XML-объявление?

StackOverflow https://stackoverflow.com/questions/1258148

  •  12-09-2019
  •  | 
  •  

Вопрос

У меня есть служба WCF, которая возвращает XElement, это работает нормально, однако я бы хотел, чтобы она включала объявление XML в ответ:

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

Клиентская сторона - это не то, что я могу изменить, и она сообщает "Результат не является XML". Единственными другими различиями между ответом на мой результат HTTP является тип содержимого моей службы WCF:

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

против.

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

Я предполагаю, что "Результат не является XML" вызван отсутствующим объявлением XML.Как можно добавить XML-объявление в ответ XElement?Я думал, что MessageFormatter мог бы исправить это, однако я понятия не имею, с чего начать.

Это было полезно?

Решение

Видишь Обзор класса XDocument для краткого примера того, как добавить XML-объявление к вашим выводам.

Хотя я должен согласиться с @John, маловероятно, что проблема заключается в отсутствующем объявлении xml, если только клиент вручную не проверяет XML как текст (что было бы глупо делать, но я видел, как это делается) и предполагает, что любой текст, в котором отсутствует объявление xml, не должен быть допустимым xml.

Если клиент является клиентом .NET, то включить ведение журнала сообщений WCF и проверьте, что получает клиент.Если клиент не является клиентом .NET, то используйте Netmon или Wireshark для проверки трафика на предмет проверки полезной нагрузки.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top