提问人:i-Diary 提问时间:11/17/2023 更新时间:11/20/2023 访问量:29
Sharepoint CSOM 出现错误:缺少根元素
Sharepoint CSOM giving Error: Root Element is missing
问:
直到周五 上周,sharepoint CSOM 代码工作正常。突然,它停止了工作。
在Google上探索后,我们将VM DNS更改为8.8.8.8 / 8.8.4.4,它开始工作了一段时间,然后再次停止工作。
不知道发生了什么。有人可以帮忙吗?
尝试将DNS更改为8.8.8.8 / 8.8.4.4
答:
当 SharePoint 客户端对象模型 (CSOM) 通信中的响应或请求的 XML 格式出现问题时,通常会发生“缺少根元素”错误。以下是此错误的一些常见原因和解决方案:
空响应或无效的 XML:
检查从 SharePoint CSOM 获得的响应是否为空或格式不正确的 XML。如果响应为空或不包含有效的 XML 根元素,则可能会触发此错误。 确保 CSOM 请求的格式正确,并将必要的信息发送到 SharePoint。
不正确的内容类型:
确保请求标头中指定的内容类型正确无误。内容类型应设置为“application/xml”或“text/xml”,具体取决于方案。
编码问题:
检查发送或接收的 XML 数据是否存在任何编码问题。确保 XML 数据编码正确,并在标头中指定编码类型。
我们最近在两个以前工作的客户上遇到了这个错误。在我们的例子中,这是由于连接到 SharePoint 的服务器无法解析 msoid.customerdomain.com。一个丢失了,另一个在其内部 DNS 上没有条目。相反,DNS 服务器返回了 msoid.com 的 IP,该 IP 没有返回预期的 XML 文档,因此您的帖子中出现了错误。我认为 MS 一定在 CSOM 中更改了某些内容,因此它会进行 DNS 查找以 msoid.customerdomain.com 以前没有的地方。为了解决此问题,我们创建了一个指向 msoid.customerdomain.com 的 cname 记录 clientconfig.microsoftonline-p.net。
进一步阅读这一点,我不确定这是否是严格正确的做法,因为看起来 Microsoft 不再需要 DNS 条目。
评论