我在最后一天左右一直在努力,需要一些帮助。
我一直在visual studio中开发一个MVC web API项目,该项目将用作SharePoint支持的前端的后端。
我在使用SharePoint 2010中通过API公开的数据时遇到问题。
我尝试将数据添加为外部内容类型,但我找不到任何有用的功能,这样我就可以从网络API中获取数据。
我还尝试将其添加为REST服务,但是当我尝试在SharePoint设计器中添加数据视图时,会返回以下错误:
尝试从数据源获取数据时,服务器返回了非特定错误。检查查询的格式和内容,然后重试。
我暂时关闭了SharePoint服务器和运行API的本地计算机上的所有防火墙,但仍然返回错误。此外,API正确地将数据返回到共享点服务器上的Web浏览器。
我已经尝试了XML和JSON,都抛出了上述错误。
有没有人有任何好的资料来解释我在SharePoint中要做的事情,或者对错误可能是什么以及可能的解决方案有任何提示?
谢谢,
戴尔
答案 0 :(得分:0)
好的,我终于搞清楚了。经过多个小时的撞击。
似乎ASP.NET MVC框架返回JSON作为默认值,如果找不到内容类型或Accept标头。
由于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;