将外部源中的内容添加到Sharepoint 2010页面

时间:2013-07-24 10:58:58

标签: xml json visual-studio-2010 sharepoint-2010 sharepoint-designer

我在最后一天左右一直在努力,需要一些帮助。

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

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

我尝试将数据添加为外部内容类型,但我找不到任何有用的功能,这样我就可以从网络API中获取数据。

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

  

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

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

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

有没有人有任何好的资料来解释我在SharePoint中要做的事情,或者对错误可能是什么以及可能的解决方案有任何提示?

谢谢,

戴尔

1 个答案:

答案 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;