我有一个正在返回Xlement的WCF服务,这很好,但是我希望它在响应中包括XML声明:

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

客户端不是我可以更改的东西,并且报告了“结果不是XML”,我的HTTP结果的响应唯一其他区别是我的WCF服务的内容类型:

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

VS.

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