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

わかりました、私はついにこれを理解しました。何時間ものヘッドバンギングの後。

content-type または 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 に答える