Если на клиенте стоит прокси, то попытка вызова веб-сервиса вызовет исключение ProtocolException, которое сообщит об ошибке HTTP Error 407 Proxy authentication required. Порывшись в интернете, нашел решение:
Способ №1
var networkCredentials = new NetworkCredential
{
UserName = "<your username>",
Password = "<your password>"
};
var webproxy = new WebProxy(new Uri("http://<address>:<port>").ToString(), true, null)
{
Credentials = networkCredentials,
BypassProxyOnLocal = false
};
WebRequest.DefaultWebProxy = webproxy;
После установки DefaultWebProxy у класса WebRequest можно создавать клиенты и делать запросы к веб-сервисам.
Способ №2
Нужно заставить System.Net использовать прокси по умолчанию.
<configuration>
<system.net>
<defaultProxy useDefaultCredentials="true" />
</system.net>
</configuration>