我已经在VS2008/中添加了web服务的代理。NET 3.5解决方案。在构造客户端。net时会抛出以下错误:

在ServiceModel客户端配置部分中找不到引用合约“IMySOAPWebService”的默认端点元素。这可能是因为没有为您的应用程序找到配置文件,或者因为在客户端元素中没有找到与此契约匹配的端点元素。

搜索此错误告诉我在契约中使用完整的名称空间。这是我的app.config完整的命名空间:

<client>
  <endpoint address="http://192.168.100.87:7001/soap/IMySOAPWebService"
            binding="basicHttpBinding" bindingConfiguration="IMySOAPWebServicebinding"
            contract="Fusion.DataExchange.Workflows.IMySOAPWebService" name="IMySOAPWebServicePort" />
</client>

我正在运行XP本地(我提到这是因为一些谷歌点击提到win2k3) 将app.config复制到app.exe。配置,所以这也不是问题。

有线索吗?


当前回答

我也有同样的问题。事实证明,对于web REFERENCE,你必须将URL作为构造函数的第一个参数:

new WebService.WebServiceSoapClient("http://myservice.com/moo.aspx");

对于一个新样式的web SERVICE REFERENCE,你必须在配置中提供一个引用端点条目的名称:

new WebService.WebServiceSoapClient("WebServiceEndpoint");

在Web中使用相应的条目。config或App.config:

<client>
      <endpoint address="http://myservice.com/moo.aspx"
        binding="basicHttpBinding" 
        bindingConfiguration="WebService"
        contract="WebService.WebServiceSoap"
        name="WebServiceEndpoint" />
    </client>
  </system.serviceModel>

很难消除“它在旧的程序中工作”的狭隘观点……

其他回答

我有一个情况,在单元测试。我将app.config文件复制到单元测试项目中。因此单元测试项目也包含端点信息。

我遇到过这样的情况,我

WCF服务托管在某处 主要项目 类型为“类库”的消费者项目,该项目具有对WCF服务的服务引用 主项目从使用者项目调用方法

现在Consumer项目已经在<system中设置了所有相关的配置。我的app.config的serviceModel>标签,它仍然抛出与上面相同的错误。

我所做的只是添加了相同的标签<system。serviceModel>到我的主项目的app.config文件,最后我们就可以开始了。

就我的情况而言,真正的问题是读取了错误的配置文件。而不是消费者的app.config,它引用的是主项目的配置。我花了两个小时才弄明白。

请允许我再补充一点。(Tom Haigh的回答已经暗示了这一点,但我想明确一点)

我的网络。配置文件定义如下:

<protocolMapping>
    <add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>

我已经使用basicHttpBinding作为一个引用,但随后我添加了一个需要basicHttpBinding的新引用。我所要做的就是将其添加到我的protocolMapping中,如下所示:

<protocolMapping>
    <add binding="basicHttpBinding" scheme="http" />
    <add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>

正如L.R.所正确指出的,这需要在正确的地方进行定义。对我来说,这意味着在我的单元测试项目的app.config和主服务项目的web.config中都有一个。

我在ASP中得到这个错误。其中WCF服务已添加到正在添加到asp.net应用程序中的类库中。. NET应用程序作为bin文件夹中引用的.dll文件。为了解决这个错误,需要将类库中引用WCF服务的app.config文件中的配置设置复制到web中。配置设置的ASP。网网站/应用程序。

我也有同样的问题 我正在使用桌面应用程序和全球天气网络服务

我删除了服务引用,并添加了web引用,问题解决了 谢谢