0

我在最后一天左右一直在努力解决这个问题,需要一些帮助。

我一直在 Visual Studio 中开发一个 MVC Web API 项目,该项目将用作 SharePoint 支持的前端的后端。

我在使用通过 SharePoint 2010 中的 API 公开的数据时遇到问题。

我已经尝试将数据添加为外部内容类型,但我找不到任何有用的设置来允许我从 Web API 获取数据。

我也尝试将其添加为 REST 服务,但是当我尝试在 SharePoint 设计器中添加数据视图时,返回以下错误:

尝试从数据源获取数据时,服务器返回了一个非特定错误。检查查询的格式和内容,然后重试。

我已暂时关闭了 SharePoint 服务器和运行 API 的本地计算机上的所有防火墙,但仍然返回错误。此外,API 正确地将数据返回到共享点服务器上的 Web 浏览器。

我已经尝试过 XML 和 JSON,都抛出了上述错误。

有没有人有任何好的资源来解释我在 SharePoint 中尝试做什么,或者有任何关于错误可能是什么以及可能的解决方案的提示?

谢谢,

戴尔

4

1 回答 1

0

好的,我终于想通了。经过许多小时的头部撞击。

如果找不到内容类型或 Accept 标头,ASP.NET MVC 框架似乎默认返回 JSON。

由于 SharePoint 不允许您自定义数据源的标头,因此它默认接收 JSON。

我找不到覆盖它的方法,所以我不得不从我的 ASP.NET API 中删除 JSON 格式化程序作为临时解决方案。

GlobalConfiguration.Configuration.Formatters.Remove(GlobalConfiguration.Configuration.Formatters.JsonFormatter);

现在,无论内容配置如何,它都会返回 XML。

编辑:

我切换了格式化程序,因此如果 Accept/Content-type 未知,则默认为 XML。

var switch_it = GlobalConfiguration.Configuration.Formatters.JsonFormatter; GlobalConfiguration.Configuration.Formatters[0] = GlobalConfiguration.Configuration.Formatters[1]; GlobalConfiguration.Configuration.Formatters[1] = switch_it;

于 2013-07-24T14:57:40.807 回答