【发布时间】:2009-08-11 02:06:18
【问题描述】:
我有一个返回 XElement 的 WCF 服务,它工作正常,但是我希望它在响应中包含 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 可能能够解决此问题,但我不知道从哪里开始。
【问题讨论】:
-
XML 中不需要 XML 声明。这不是问题。
-
我编写了一个忘记 XML 声明的 WCF 客户端。 SharePoint Web 服务回复 SERVER_ERROR。如果我接受确切的请求并在 XML 声明之后发送它,则 Web 服务会正确回复。所以,我同意标准说不需要 XML 声明,但你必须同意微软不尊重标准。谁知道客户端是怎么写的?我认为这可能是问题所在。
-
如何更改字符集?我要iso-8859-6数据怎么办?