一个类库引用了web service A,用另一个EXE做承载时,访问这个web service A时就提示:“在 ServiceModel 客户端配置部分中,找不到引用协定“IpsBarcode.ScanService”的默认终结点元素。这可能是因为未找到应用程序的配置文件,或者是因为客户端元素中找不到与此协定匹配的终结点元素。”
解决:把类库的App.config中<system.serviceModel>节点下的<bindings>和<client>配置节复制到EXE程序的App.config中(WindowsFormsHost.exe.config):
<?xml version="1.0" encoding="utf-8" ?> <configuration> <system.serviceModel> <bindings> <basicHttpBinding> <binding name="WSOrderQuerySoapBinding" /> <binding name="WSRefundSoapBinding" /> <binding name="WSScanSoapBinding" /> </basicHttpBinding> </bindings> <client> <endpoint address="http://newpay.ips.com.cn:80/psfp-entry/services/order" binding="basicHttpBinding" bindingConfiguration="WSOrderQuerySoapBinding" contract="IpsOderQuery.OrderQueryService" name="WSOrderQuerySoap" /> <endpoint address="http://newpay.ips.com.cn:80/psfp-entry/services/refund" binding="basicHttpBinding" bindingConfiguration="WSRefundSoapBinding" contract="IpsRefund.RefundService" name="WSRefundSoap" /> <endpoint address="http://thumbpay.e-years.com/psfp-webscan/services/scan" binding="basicHttpBinding" bindingConfiguration="WSScanSoapBinding" contract="IpsBarcode.ScanService" name="WSScanSoap" /> </client> </system.serviceModel> </configuration>