1

实现 WCF 服务后,将其托管在 IIS 服务器上,它返回以下错误。

用户代码未处理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" />
4

1 回答 1

0

我注意到重新配置我的服务参考后的某个时候,客户端配置获取带有服务器名称的 wsdl。然后我得到 EndpointNotFoundException 异常。

例子 :

服务参考是:http://192.168.61.2:1111/Service1.svc

但在配置端点地址中显示:http://serverName:1111/Service1.svc

在我用服务参考地址更改配置端点地址后,它就解决了。不知道为什么,但现在每次我重新配置端点地址时,我都会手动更改配置端点地址以确保它获得相同的地址。

于 2013-09-27T03:26:32.397 回答