[英]400 bad request for accessing a “http://Url/_vti_bin/listDate.svc” in sharepoint 2010 web service
我试图在Visual Studio中向Windows窗体应用程序添加服务引用以进行访问:
http://intranet.contoso.com/sites/Lab05/_vti_bin/ListData.svc
但是,当我单击“执行”按钮后,它将返回一个错误,其中包含以下详细信息:
>> 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 Server 2008 R2和Visual Studio 2012安装Windows的同一台计算机上完成这些工作。
问题出在我尝试从中获取Web服务的Web应用程序的身份验证模式。 Web应用程序的匿名功能应禁用。 请参考这篇文章以更改IIS管理器上的Web应用程序身份验证:
我确实遇到了同样的问题,就我而言(这可能对其他情况有所帮助),问题是我将“ DataMemeber”属性用于此类枚举值
[DataContract]
public enum Enum1 {
[DataMember]
Enum_Value_Name_1
}
这就是上述错误的原因。 正确性步骤是
[DataContract]
public enum Enum1 {
[EnumMember]
Enum_Value_Name_1
}
我是通过在浏览器中请求服务的网址来发现此问题的。 错误的所有细节都写在那儿,而且非常干净。
因此,如果您遇到类似的问题,我的建议是:从浏览器请求WCF服务网址,您将获得有关如何解决(特定)问题的更多信息。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.