在sharepoint 2010 Web服务中访问“http:// url/_vti_bin/listDate.svc”的400个错误请求

问题描述 投票:1回答:2

我试图在visual studio中为我的Windows窗体应用程序添加一个服务引用来访问:

http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc

但在我点击“go”按钮后,它会返回一个错误,其中包含以下详细信息:

下载>'http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc'时出错。请求失败,HTTP状态为400:错误请求。元数据包含无法解析的引用:>'http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc'。远程服务器返回意外响应:(400)错误请求。远程服务器返回错误:(400)错误请求。如果在当前解决方案中定义了服务,请尝试构建解决方案>并再次添加服务引用。

但是当我第一次在IE中输入地址时,它并没有显示任何内容,只有当我通过访问来验证我的自我时

http://intranet.contoso.com/sites/Lab05

IE将在输入后显示一些xml信息

http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc

地址。

我在安装Windows的同一台机器上的Windows Server 2008 R2和visual studio 2012中完成这些工作。

visual-studio-2010 web-services sharepoint sharepoint-2010 client
2个回答
0
投票

问题来自我尝试从中获取Web服务的Web应用程序的身份验证模式。应禁用Web应用程序的匿名。请参阅此帖子以更改IIS管理器上的Web应用程序身份验证:

https://sharepoint.stackexchange.com/questions/22349/listdata-svc-returns-error-400-bad-request-in-visual-studio


0
投票

我完全面对同样的问题,在我的情况下(这可能对其他人有帮助)问题是我使用“DataMemeber”属性来表示这样的枚举值

[DataContract]
public enum Enum1 { 
     [DataMember]
     Enum_Value_Name_1
}

这是上述错误的原因。而正确的步骤是

[DataContract]
public enum Enum1 { 
     [EnumMember]
     Enum_Value_Name_1
}

我通过在浏览器中请求服务的Url来发现这一点。错误的所有细节都写在那里,它们非常干净。

因此,如果您遇到类似的问题,我的建议是:从浏览器请求WCF服务URL,您将获得有关如何解决(特定)问题的更多信息。

© www.soinside.com 2019 - 2024. All rights reserved.