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

时间:2013-10-22 15:38:24

标签: visual-studio-2010 web-services sharepoint sharepoint-2010 client

我尝试在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中完成这些工作。

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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

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

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

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

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

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