Не было конечной точки, прослушивающей <URI>, которая могла бы принять сообщение.Это часто вызвано неправильным адресом или действием SOAP.
-
19-09-2019 - |
Вопрос
У меня есть два клиента WCF, использующие стороннюю веб-службу.
Эти два клиента выполняют один и тот же вызов метода.В одном случае это работает каждый раз, в другом я получаю сообщение "Не было прослушивания конечной точки...".
Насколько я могу судить, единственная разница между этими двумя вызовами заключается в том, что они находятся в двух разных клиентских исполняемых файлах, а это означает, что файлы .exe.config не совпадают.Они используют один и тот же исходный код, который используется обоими проектами в Visual Studio, так что это не разница.
Но на самом деле содержимое этих двух файлов exe.config (почти) совершенно одинаково;единственное отличие состоит в том, что exe.config для неудачного вызова имеет большие значения атрибутов maxBufferSize и maxReceivedMessageSize элемента привязки, а также большее значение sendTimeout.
Решение
На самом деле это не ответ, это объяснение.
Проблема в том, что из двух вышеперечисленных клиентов один был настольным приложением Windows Forms, а другой — службой Windows.Они оба использовали одну и ту же базу кода (т.экземпляр класса) и почти те же файлы app.config.
НО служба вошла в систему под SystemAccount - и на некоторых сайтах, похоже, у нее нет прав/профиля для доступа к Интернету, поэтому она не смогла найти конечную точку веб-службы.Очевидный.Когда ты знаешь.