2

我正在使用 URL 重写规则访问代理服务器,重写 URL 以访问 Sharepoint 服务器。一切正常,除了我在 /_vti_bin/listdata.svc 上得到 404。我还在应用程序日志中的代理服务器上收到错误消息。

日志名称:应用程序

来源:System.ServiceModel 4.0.0.0

日期:2013 年 1 月 3 日下午 12:49:20

事件编号:3

任务类别:网络主机

级别:错误

关键词:经典

用户: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) 在 System.ServiceModel.ServiceHostingEnvironment.EnsureServiceAvailableFast(String relativeVirtualPath) 在 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.HandleRequest() 在 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.BeginRequest()在 System.Runtime.AsyncResult.End[TAsyncResult](IAsyncResult 结果) 在 System.ServiceModel.Activation.HostedHttpRequestAsyncResult.End(IAsyncResult 结果)

我正在从共享点列表中填充菜单标题...

所以页面将是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 服务器。

我们删除了特定 IIS 网站上的 svc-Integrated-4.0。

我们测试了 SharePoint,一切正常,现在我们可以通过 URL 重写访问 _vti_bin/listdata.svc。

于 2013-02-20T15:14:37.900 回答