繁体   English   中英

在VS2012中添加Web服务引用时出错

[英]Error when adding web service reference in VS2012

我正在尝试为VS2012中的新项目添加对Web服务的引用。 我不断收到以下错误:

下载“ ServiceAddress / ConfigurationMgmt.wsdl / _vti_bin / ListData.svc / $ metadata”时出错。 请求失败,HTTP状态为400:错误的请求。 元数据包含无法解析的引用:“ ServiceAddress / ConfigurationMgmt.wsdl”。 客户端身份验证方案“匿名”未授权HTTP请求。 从服务器收到的身份验证标头是“ Basic realm =“ CASM”“。 远程服务器返回错误:(401)未经授权。 如果服务是在当前解决方案中定义的,请尝试构建解决方案并再次添加服务引用。

更令人困惑的部分是,我能够使用VS2010添加和使用对同一Web服务的引用。 如果我在VS2012中打开VS2010项目并尝试更新服务引用,则会遇到相同的错误。

我尝试将服务引用添加到VS2012中的新项目中,在管理员模式下启动VS2012并重新启动PC。

我还尝试过添加对VS2012项目中其他服务的引用,这些引用在我们的Intranet上可用,并且它们似乎可以正常工作。

我在这里缺少基本的东西吗? 我还能尝试找出该问题背后的原因吗?

更改安全标签中的web.config文件,

<security mode="TransportCredentialOnly">
    <transport clientCredentialType="Anonymous"/>
    <message clientCredentialType="UserName" algorithmSuite="Default"/>
</security>

我认为这会帮助你。 如果它不起作用,那么您的服务提供商部署ACL中有问题

我发现可能导致此问题的一个可能原因是VS2012在允许其访问wsdl之前尝试对安全代理进行身份验证。

为了解决这个问题,我开始使用命令行wsdl.exe工具生成Web服务数据类型。 之后,我再也没有错误了。

对于.Net 4.0,可以在““ C:\\ Program Files(x86)\\ Microsoft SDKs \\ Windows \\ v8.0A \\ bin \\ NETFX 4.0 Tools \\ wsdl.exe”中找到

使用它从wsdl文件自动生成类型的示例:

wsdl / l:CS YourWebservice.wsdl / pu:用户名/ pp:密码/pd:yourFirmDomain.com Common.xsd xmlmime.xsd

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM