2

SharepointサーバーにアクセスするためにURLを書き換えるURL書き換えルールでプロキシサーバーにアクセスしています。/_vti_bin/listdata.svcで404を取得する以外は、すべて機能します。また、アプリログのプロキシサーバーでエラーが発生します。

ログ名:アプリケーション

ソース:System.ServiceModel 4.0.0.0

日付:2013年1月3日12:49:20 PM

イベントID:3

タスクカテゴリ:WebHost

レベル:エラー

キーワード:クラシック

ユーザー:IIS APPPOOL \ HrSelfService

コンピューター:webnet01test.bluebunny.com

説明:

WebHostはリクエストの処理に失敗しました。送信者情報:System.ServiceModel.Activation.HostedHttpRequestAsyncResult / 9460241例外:System.Web.HttpException(0x80004005):サービス'/_vti_bin/listdata.svc'は存在しません。---> System.ServiceModel.EndpointNotFoundException:サービス'/_vti_bin/listdata.svc'が存在しません。 System.ServiceModel.ServiceHostingEnvironment.HostingManager.EnsureServiceAvailable(String NormalizedVirtualPath)at System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String RelativeVirtualPath)at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest()at System.ServiceModel.Activation.HostedHttpRequestAsync System.Runtime.AsyncResult.End [TAsyncResult](IAsyncResult result)at System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult result)

SharePointリストからメニューヘッダーを入力しています...

したがって、ページはdomain2.com/pages/default.aspxになり、以下のコードが実行され、ページのメニューに入力されます。

あなたが与えることができるどんな助けにも感謝します。


$.ajax({ url: "http://Domain1.com/_vti_bin/listdata.svc/MegaMenuCategories?$orderby=OrderingValue%20asc",

        dataType: 'json',
        crossDomain:true, 
        async: false,
        success: function (data) {
        var menuLength = data.d.results.length;
        for (i=0; i<data.d.results.length; i++){
            var results1 = data.d.results[i].MenuTitle;
            var order = data.d.results[i].OrderingValue;

            if (order == "1")
                addMenuTitle(order, results1);   

            if (order == "2")
                addMenuTitle(order, results1);

            if (order == "3")
                addMenuTitle(order, results1);

            if (order == "4")
                addMenuTitle(order, results1);

            if (order == "5")
                addMenuTitle(order, results1);

            if (order == "6")
                addMenuTitle(order, results1);
        }
        if (menuLength == "5"){
            $("#megaRtCorner").css("left","490px");
            $("#megaMenu").css("width","475px");
        }
       }
    });</code>
4

1 に答える 1

3

私はこの問題についてMicrosoftと協力し、URLリライトプロキシを介してSharePointからlistdata.svcサービスを要求すると、要求がプロキシで終了することを理解しました。何が起こるかというと、プロキシサーバーはリクエストを処理しようとし、明らかに404を返します。

IISでハンドラーマッピングを削除して、サービス要求がプロキシを介してSharePointサーバーに流れるようにする必要がありました。

特定のIISWebサイトでsvc-Integrated-4.0を削除しました。

SharePointをテストしたところ、すべてが正常に機能しており、URL書き換えを介して_vti_bin/listdata.svcにアクセスできるようになりました。

于 2013-02-20T15:14:37.900 に答える