Не было прослушивания конечной точки... ошибка для службы wcf

58
4

Я знаю, что есть много сообщений по этой проблеме, и я пробовал решения от большинства из них, но ничего не работает.

У меня есть служба WCF, которая отлично работает в блоке Dev при размещении в IIS, и я переместил ее на сервер приложений приложений UAT, и я могу получить к ней доступ и проверить, есть ли у тестового клиента. Таким образом, я теперь разместил свое приложение MVC на веб-сервере и из браузера веб-сервера, я могу получить доступ к службе, но когда я запускаю свое веб-приложение, которое потребляет услугу, оно вызывает следующую ошибку.

Error Detail:- There was no endpoint listening at http://servername/AC.IS.BLService/CustService
.svc that could accept the message. This is often caused by an incorrect
address or SOAP action. See InnerException, if present, for more details.

Error TargetSite:- ACL.IS.BLWebSite.ViewModels.HomeAccountStatusViewModel
ValidateLogin(ACL.IS.BLWebSite.ViewModels.HomeAccountStatusViewModel)

Inner Exception:- System.Net.WebException: The remote server returned an
error: (404) Not Found. at System.Net.HttpWebRequest.GetResponse() at

System.ServiceModel.Channels.HttpChannelFactory'1.HttpRequestChannel.HttpChannel

Request.WaitForReply(TimeSpan timeout)

Таким образом, я попытался разместить службу и веб-приложение вместе на одном сервере, и у меня все еще есть та же проблема. Ниже приведены мои файлы конфигурации для службы и клиента

Client.config

 <system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ICustomerService" />
</basicHttpBinding>
</bindings>
<client>
<endpoint address="http://servername/ACL.IS.BLService/CustService.svc"
binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICustService"
contract="BLService.ICustService" name="BasicHttpBinding_ICustService" />
</client>
</system.serviceModel>

Конфигурация сервера

<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="BasicHttpBinding_ICustService" />
</basicHttpBinding>
</bindings>
<services>
<service name="ACL.IS.BL_WebServices.CustService" behaviorConfiguration="mexBehavior">
<host>
<baseAddresses>
<add baseAddress="http://localhost:8080/"/>
</baseAddresses>
</host>
<endpoint address="CustService" binding="basicHttpBinding" bindingConfiguration="BasicHttpBinding_ICustService" contract="ACL.IS.BL_WebServices.ICustService">
<identity>
<dns value="localhost"/>
</identity>
</endpoint>
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="mexBehavior">
<!-- To avoid disclosing metadata information,
set the values below to false before deployment -->
<serviceMetadata httpGetEnabled="True" httpsGetEnabled="True"/>
<!-- To receive exception details in faults for debugging purposes,
set the value below to true. Set to false before deployment
to avoid disclosing exception information -->
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
<protocolMapping>
<add binding="basicHttpsBinding" scheme="https" />
</protocolMapping>
<serviceHostingEnvironment aspNetCompatibilityEnabled="false"
multipleSiteBindingsEnabled="true" />
</system.serviceModel>

его сервер windows 2012. IIS 8.5. Может кто-нибудь, пожалуйста, помогите.

Просто, чтобы упомянуть... есть брандмауэр, а... это что-то связано с номерами портов?

спросил(а) 2016-04-29T16:35:00+03:00 4 года, 6 месяцев назад
1
Решение
58

Конфигурация сервера говорит, что он прослушивает порт 8080:

baseAddress="http://localhost:8080/"

в то время как клиент подключается к порту 80:

address="http://servername/ACL.IS.BLService/CustService.svc"

Я думаю, они должны соответствовать.

ответил(а) 2016-05-02T14:40:00+03:00 4 года, 6 месяцев назад
41

У вас, похоже, несоответствие контракта.

Клиент;

contract="BLService.ICustService" 

Сервер;

contract="ACL.IS.BL_WebServices.ICustService"

Они должны соответствовать

ответил(а) 2016-04-29T16:43:00+03:00 4 года, 6 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема