Нет ошибки прослушивания конечной точки, когда служба WCF размещается в IIS.

У меня есть страница MVC, которая использует WebService через SSL. Сертификат установлен, и когда приложение работает, оно может обнаружить сертификат.

Проблема в том, что эти коды отлично работают на моей локальной машине, пока я пытаюсь вызвать размещенную страницу MVC.

Но когда вызывается страница MVC, размещенная на сервере, выдается ошибка: на https:// не было прослушивания конечной точки, которая могла бы принять сообщение. Это часто вызвано неверным адресом или действием SOAP.

Я обнаружил, что проблема действительно связана с идентификатором пула приложений. Когда я изменил его, чтобы он работал с моими учетными данными, это решило проблему. Но я не могу сделать это в производственной среде.

Мне нужно заставить его работать с Identity: Network Service в пуле приложений IIS.

Я попытался дать разрешение на сертификат, используя winhttpcertcfg для сетевой службы, и это также не помогло.

Не уверен, чего не хватает.

Заранее спасибо.


person Aditya    schedule 11.05.2012    source источник
comment
вы проверяли --› stackoverflow.com/questions/5126490/   -  person rt2800    schedule 11.05.2012
comment
Под какой учетной записью был установлен сертификат на сервере? Убедитесь, что он был установлен в личном хранилище локального компьютера, чтобы сетевая служба могла получить доступ к сертификату.   -  person Rajesh    schedule 11.05.2012
comment
Он установлен в личном магазине локальной машины.   -  person Aditya    schedule 11.05.2012
comment
‹clientCertificate findValue=YYY.XXX.com storeLocation=LocalMachine x509FindType=FindBySubjectName /› есть в web.config.   -  person Aditya    schedule 11.05.2012
comment
Выполняете ли вы двухсторонний SSL, если да, то сертификат клиента должен был находиться в хранилище доверенных лиц на локальном компьютере, а не в личном магазине   -  person Rajesh    schedule 11.05.2012
comment
Нет, это не двусторонний. И я попытался добавить его в личном магазине. Это все еще не сработало.   -  person Aditya    schedule 11.05.2012
comment
Если это не двусторонний SSL, почему в вашей конфигурации есть элемент clientCertificate? Было бы легко, если бы вы могли опубликовать весь файл конфигурации для своего сервиса.   -  person Rajesh    schedule 11.05.2012
comment
добавление этого решило мою проблему: ‹system.net› ‹defaultProxy useDefaultCredentials=true enabled=true› ‹proxy usesystemdefault=True proxyaddress=myproxyserver:port bypassonlocal=False/› ‹/defaultProxy› ‹settings› ‹servicePointManager expect100Continue=false /› ‹ipv6 enabled=true/› ‹/settings› ‹/system.net›   -  person Aditya    schedule 11.05.2012
comment
Это указывает на то, что вы находитесь в сети, где трафик перенаправляется через прокси-сервер, и, следовательно, вы должны использовать элемент defaultProxy в своей конфигурации для доступа к службе. Опубликуйте решение как ответ и отметьте его, так как оно может помочь другим.   -  person Rajesh    schedule 11.05.2012


Ответы (1)


добавление этого решило мою проблему:

<system.net> <defaultProxy useDefaultCredentials="true" enabled="true"> <proxy usesystemdefault="True" proxyaddress="myproxyserver:port"; bypassonlocal="False"/> </defaultProxy> <settings> <servicePointManager expect100Continue="false" /> <ipv6 enabled="true"/> </settings> </system.net> 
person Aditya    schedule 06.06.2012
comment
‹system.net› ‹defaultProxy useDefaultCredentials=true enable=true› ‹proxy usesystemdefault=True proxyaddress=myproxyserver:port; bypassonlocal=False/› ‹/defaultProxy› ‹settings› ‹servicePointManager expect100Continue=false /› ‹ipv6 enabled=true/› ‹/settings› ‹/system.net› - person Aditya; 06.06.2012