Не было конечной точки, прослушивающей <URI>, которая могла бы принять сообщение.Это часто вызвано неправильным адресом или действием SOAP.

StackOverflow https://stackoverflow.com/questions/1699751

  •  19-09-2019
  •  | 
  •  

Вопрос

У меня есть два клиента WCF, использующие стороннюю веб-службу.

Эти два клиента выполняют один и тот же вызов метода.В одном случае это работает каждый раз, в другом я получаю сообщение "Не было прослушивания конечной точки...".

Насколько я могу судить, единственная разница между этими двумя вызовами заключается в том, что они находятся в двух разных клиентских исполняемых файлах, а это означает, что файлы .exe.config не совпадают.Они используют один и тот же исходный код, который используется обоими проектами в Visual Studio, так что это не разница.

Но на самом деле содержимое этих двух файлов exe.config (почти) совершенно одинаково;единственное отличие состоит в том, что exe.config для неудачного вызова имеет большие значения атрибутов maxBufferSize и maxReceivedMessageSize элемента привязки, а также большее значение sendTimeout.

Это было полезно?

Решение

На самом деле это не ответ, это объяснение.

Проблема в том, что из двух вышеперечисленных клиентов один был настольным приложением Windows Forms, а другой — службой Windows.Они оба использовали одну и ту же базу кода (т.экземпляр класса) и почти те же файлы app.config.

НО служба вошла в систему под SystemAccount - и на некоторых сайтах, похоже, у нее нет прав/профиля для доступа к Интернету, поэтому она не смогла найти конечную точку веб-службы.Очевидный.Когда ты знаешь.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top