6

我有一个 VS2005 项目,其中包含几个 Web 服务引用。该项目最近已升级到 VS2008,但现在 Web 参考存在问题......可能是因为它们可能没有正确升级。

当我选择更新 Web 参考时,我收到以下错误:

“值不能为空。参数名称:discoveryError % mexError”非常有用。

然后我删除了网络参考,目的是重新添加它......

Add Web Reference 对话框出现并成功加载了与 Web 服务相关的每个方法的信息。

但是,我无法添加引用,因为这样做的按钮是灰色的,并且有一个标题为“在此 URL 找到的 Web 服务:”的文本框,其中包含文本“由于当前状态,操作无效目的”。

现在终于,这给我带来了我的主要问题......那么我该如何添加这个网络参考?或者更好的是,我如何找出“对象的当前状态”的无效之处?

有没有人在VS2008有过类似的经历?

4

5 回答 5

9

我在 VS2010 上遇到了同样的问题。就我而言,问题是代理服务器。我从外部 url 获得了 wsdl。我的解决方案:在VS2010中设置代理。编辑 devenv.exe.config 并在<defaultProxy>下面添加<system.net>

<system.net>
        <defaultProxy enabled="true" useDefaultCredentials="true">
            <proxy bypassonlocal="True" proxyaddress="http://yourproxyserver:port"/>
        </defaultProxy>
</system.net>

如果代理来自 .pac 文件,则可以省略<proxy>标记:

   <system.net>
        <defaultProxy enabled="true" useDefaultCredentials="true">
        </defaultProxy>
   </system.net>

关于相关问题的旧帖子:http:
//fhtino.blogspot.it/2006/11/visual-studio-2005-proxy-problem-in-add.html

于 2012-11-12T07:48:48.663 回答
3

终于想通了。

我使用WebService Studio让我更好地了解正在发生的事情。它返回错误消息“请求失败,HTTP 状态 407:需要代理身份验证”......这让我知道我必须安装新的安全证书......旧的安全证书已过期。

我想这回答了这个关于如何找到更多关于网络服务无效的问题的问题。

于 2009-01-19T00:21:54.473 回答
0

我遇到了同样的错误:使用 Visual Studio 2008 的更新参考

"Value cannot be null. Parameter name: discoveryError % mexError

我已经修复了它检查项目的文件夹 ACL 列表。当然,我需要将 IUSR 添加到文件夹的安全性中……就是这样!

我为我工作,我希望也能帮助任何人......

于 2009-11-04T10:40:27.473 回答
0

我不知道是什么导致了我这个错误。我无法向服务添加 Web 引用,但可以添加服务引用。不幸的是,我需要网络参考。

所以我所做的就是将 WSDL 下载到我的机器上。当 VS 2012 要求提供参考 URL 时,我在我的机器上输入了 WSDL 文件的路径。这为我创建了 Web 参考。

然后我进入了reference.map,把WSDL的位置从本地路径改成了URL。我还没有尝试过,但我认为它应该可以工作......至少我创建了我的网络参考。

于 2013-06-26T14:49:58.340 回答
0

有人摆弄了我的 IIS。该服务已禁用匿名身份验证,一旦重新启用,此错误消息就会消失。

于 2013-12-09T14:52:11.247 回答