在實施WCF服務並將其託管在IIS服務器上之後,它返回了以下錯誤。在IIS上託管WCF - EndpointNotFoundException
EndpointNotFoundException是由用戶代碼未處理的有沒有 端點在XXXXX是可以接受的消息聽。這通常是由不正確的地址或SOAP操作導致的 。有關更多詳細信息,請參見 InnerException(如果存在)。
該服務具有相同的實現和配置5運行服務沒有錯誤。
當我試圖找出IIS服務器上發生了什麼,下面的截圖。
所以看來這個特定的服務沒有檢測到合同。儘管我使用的配置如下。
<service name="XX.XX.Provisioning.EldaftarManagementService">
<endpoint address="" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" bindingNamespace="http://XX.XX.com/XX/" contract="XX.XX.Provisioning.Eldaftar.IEldaftarManagementService" />
<endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="ProvisioningBasicBinding" bindingNamespace="http://XX.XX.com/provisioning/" contract="XX.XX.Provisioning.Eldaftar.IEldaftarManagementService" />
</service>
<service name="XX.XX.Provisioning.Common.UserManagement.UserManagementService">
<endpoint address="" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" bindingNamespace="http://XX.XX.com/XX/" contract="XX.XX.Provisioning.Common.UserManagement.IUserManagementService" />
<endpoint address="basic" binding="basicHttpBinding" bindingConfiguration="ProvisioningBasicBinding" bindingNamespace="http://XX.XX.com/provisioning/" contract="XX.XX.Provisioning.Common.UserManagement.IUserManagementService" />
</service>
請注意,訪問service.svc url時,它通常會回覆並顯示wsdl。所以這意味着它在IIS上託管得很好。
我想念什麼?
更新:
客戶端配置。
<endpoint address="https://XXX/EldaftarManagementService.svc" behaviorConfiguration="ProvisioningClientBehaviour" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" contract="EldaftarManagementService.IEldaftarManagementService" />
<endpoint address="https://XXX/UserManagement.svc" behaviorConfiguration="ProvisioningClientBehaviour" binding="customBinding" bindingConfiguration="ProvisioningServiceBinding" contract="UserManagementService.IUserManagementService" />
嘗試刷新您的參考。服務中可能發生了一些變化,這些變化在客戶端沒有處理。 – mrtig
看來問題出在客戶端。在客戶端發佈配置文件值是非常有用的,以檢查它們是否與服務器上的值匹配。 –
檢查合同的名稱空間。是XX.XX.Provisioning.Eldaftar? – GTG