我已將代理添加到VS2008 / .NET 3.5解決方案的Web服務。 構造客戶端.NET時,會引起如下錯誤: web
在ServiceModel客戶端配置部分中找不到引用合同'IMySOAPWebService'的默認終結點元素。 這多是由於沒有爲您的應用程序找到配置文件,或者是在client元素中找不到與該協定匹配的端點元素。 app
搜索此錯誤告訴我在合同中使用完整的名稱空間。 這是帶有完整名稱空間的個人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(我之因此這麼說是由於許多Google命中都提到了win2k3)app.config已複製到app.exe.config,因此這也不是問題。 單元測試
有什麼線索嗎? 測試
若是您使用的是使用PRISM框架的WPF應用程序,則配置應存在於您的啓動項目中(即,引導程序所在的項目中)。 spa
我曾經遇到這個問題。 這是由於我仍在開發使用WCF服務的接口。 我配置了測試應用程序並繼續開發。 而後在開發中,我更改了一些服務的名稱空間。 因此我仔細檢查了web.config中的「 system.serviceModel->客戶端->端點->合同」以匹配WCF類。 而後問題解決了。 代理
這使我發瘋。 code
我在WCF中使用Silverlight 3 Prism(CAB) 接口
當我在棱鏡模塊中調用WCF服務時,出現相同的錯誤: 開發
在服務模型客戶端配置部分中找不到引用合同「 IMyService」的默認端點元素。 這多是由於沒有爲您的應用程序找到配置文件,或者由於在客戶端元素中找不到與該合同匹配的端點元素
事實證實,它是在Shell的.xap文件中查找ServiceReferences.ClientConfig文件,而不是在模塊的ServiceReferences.ClientConfig文件中。 我在個人Silverlight Shell應用程序中添加了端點並將其綁定到現有的ServiceReferences.ClientConfig文件(它稱爲它本身的WCF服務)。
而後,我必須重建Shell應用程序,覺得Web項目的ClientBin文件夾生成新的.xap文件。
如今這行代碼終於能夠工做了:
MyServiceClient myService = new MyServiceClient();
請容許我再添加一件事。 ( 湯姆·海格的答案已經暗示了這一點,但我想明確地說)
個人web.config
文件具備如下定義:
<protocolMapping> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping>
我已經使用basicHttpsBinding做爲一個引用,可是後來我添加了一個新的引用,該引用須要basicHttpBinding(否)。 我要作的就是將其添加到個人protocolMapping
,以下所示:
<protocolMapping> <add binding="basicHttpBinding" scheme="http" /> <add binding="basicHttpsBinding" scheme="https" /> </protocolMapping>
正如LR正確指出的那樣,這須要在正確的位置定義。 對我來講,這意味着在個人單元測試項目的app.config中以及在主服務項目的web.config中。
我在WCF服務已添加到類庫中的ASP.NET應用程序中收到此錯誤,該類庫已做爲bin文件夾中引用的.dll文件添加到ASP.NET應用程序中。 要解決該錯誤,須要將引用WCF服務的類庫中app.config文件中的配置設置複製到ASP.NET站點/應用程序的web.config設置中。