找不到默认的端点元素

找不到默认的端点元素

我向VS 2008/.NET 3.5解决方案中添加了一个Web服务代理。构造客户端.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>

我正在运行XPlocal(我提到这一点,因为很多Google点击提到win2k3)app.config被复制到app.exe.config,所以这也不是问题。

有什么线索吗?


隔江千里
浏览 457回答 3
3回答

千万里不及你

“如果在类库中调用服务并从另一个项目调用类库,则可能会出现此错误。”在本例中,如果是winapp,则需要将WS配置设置包含到主项目app.config中,如果是web应用程序,则需要包含web.config。即使是PRISM和WPF/Silverlight也是这样做的。

慕后森

我通过自己创建绑定和端点地址实例来解决这个问题(正如其他人所建议的那样)-因为我不想向配置文件中添加新的设置(这是对一些广泛使用的现有库代码的替换,以前使用的是一个旧的Web服务引用等等),因此我希望能够在不添加新的配置设置的情况下删除这些设置。var&nbsp;remoteAddress&nbsp;=&nbsp;new&nbsp;System.ServiceModel.EndpointAddress(_webServiceUrl);using&nbsp;(var&nbsp;productService&nbsp;=&nbsp;new&nbsp;ProductClient(new&nbsp;System.ServiceModel.BasicHttpBinding(),&nbsp;remoteAddress)){ &nbsp;&nbsp;&nbsp;&nbsp;//set&nbsp;timeout &nbsp;&nbsp;&nbsp;&nbsp;productService.Endpoint.Binding.SendTimeout&nbsp;=&nbsp;new&nbsp;TimeSpan(0,0,0,_webServiceTimeout); &nbsp;&nbsp;&nbsp;&nbsp;//call&nbsp;web&nbsp;service&nbsp;method &nbsp;&nbsp;&nbsp;&nbsp;productResponse&nbsp;=&nbsp;productService.GetProducts();}编辑如果使用https,则需要使用BasicHttpsBinding而不是BasicHttpBinding.

米琪卡哇伊

在测试了几个选项之后,我最终通过以下方法解决了这个问题合同=“IMySOAPWebService”也就是说,在配置中没有完整的命名空间。由于某些原因,全名没有正确解析
打开App,查看更多内容
随时随地看视频慕课网APP