为了账号安全,请及时绑定邮箱和手机立即绑定

找不到默认的端点元素

找不到默认的端点元素

找不到默认的端点元素我向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,所以这也不是问题。有什么线索吗?
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

“如果在类库中调用服务并从另一个项目调用类库,则可能会出现此错误。”

在本例中,如果是winapp,则需要将WS配置设置包含到主项目app.config中,如果是web应用程序,则需要包含web.config。即使是PRISM和WPF/Silverlight也是这样做的。


查看完整回答
反对 回复 2019-07-19
?
慕后森

TA贡献1802条经验 获得超5个赞

我通过自己创建绑定和端点地址实例来解决这个问题(正如其他人所建议的那样)-因为我不想向配置文件中添加新的设置(这是对一些广泛使用的现有库代码的替换,以前使用的是一个旧的Web服务引用等等),因此我希望能够在不添加新的配置设置的情况下删除这些设置。

var remoteAddress = new System.ServiceModel.EndpointAddress(_webServiceUrl);using (var productService = new ProductClient(new System.ServiceModel.BasicHttpBinding(), remoteAddress)){
    //set timeout
    productService.Endpoint.Binding.SendTimeout = new TimeSpan(0,0,0,_webServiceTimeout);

    //call web service method
    productResponse = productService.GetProducts();}

编辑

如果使用https,则需要使用BasicHttpsBinding而不是BasicHttpBinding.


查看完整回答
反对 回复 2019-07-19
?
米琪卡哇伊

TA贡献1998条经验 获得超6个赞

在测试了几个选项之后,我最终通过以下方法解决了这个问题

合同=“IMySOAPWebService”

也就是说,在配置中没有完整的命名空间。由于某些原因,全名没有正确解析


查看完整回答
反对 回复 2019-07-19
  • 3 回答
  • 0 关注
  • 448 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信