У меня есть небольшая утилита, которая является клиентом SOAP WebService. SOAP-прокси генерируется из WSDL. Он работал нормально.
Теперь клиент хочет использовать прокси-сервер SQUID, но он отказывается аутентифицировать мой клиент SOAP.
Я уже пробовал:
MyWebservice ws = new MyWebservice();
// set URL etc.
// login for the actual service, this part works
HeaderLogin hl = new HeaderLogin();
hl.username = svcLogin;
hl.password = svcPassword;
ws.HeaderLoginValue = hl;
// setting up the Proxy of the Proxy
//ws.Proxy = System.Net.WebRequest.GetSystemWebProxy();
ws.Proxy = System.Net.WebRequest.DefaultWebProxy;
//ws.Proxy.Credentials = CredentialCache.DefaultCredentials;
ws.Proxy.Credentials = new NetworkCredential(proxyUser, proxyPassword, proxyDomain);
Но я продолжаю получать ошибку HTTP 407: требуется проверка подлинности прокси.
SQUID (squid/2.7.STABLE4) настроен на использование NTLM и AD для аутентификации. Кажется, это работает нормально: есть другие клиенты WebService, которые проходят через прокси-сервер.
У меня нет прямого доступа к сайту, но я могу просмотреть только некоторые лог-файлы. Самое замечательное то, что я вижу в файлах PCAP (Wireshark). Когда я создаю NetworkCredential с userName="Henk", domain="TEST", он отображается в PCAP как
... HTTP CONNECT someurl:443 HTTP/1.1 , NTLMSSP_AUTH, Пользователь: T\H
И когда я смотрю на PCAP для рабочего сервиса
... HTTP CONNECT someurl: 443 HTTP/1.0, NTLMSSP_AUTH, пользователь: TEST\Henk
А в журнале SQUID access.log все попытки отображаются так:
... 0 192.168.15.95 TCP_DENIED/407 1759 ПОДКЛЮЧИТЬ someurl:443 - НЕТ/- text/html
... 32 192.168.15.95 TCP_DENIED/407 2055 ПОДКЛЮЧИТЬ someurl:443 - NONE/- text/html
... 31 192.168.15.95 TCP_DENIED/407 1759 CONNECT someurl:443 - NONE/- text/html
Конкретные вопросы:
- какие-либо известные проблемы с .NET2 SOAP и Squid?
- имеет значение отображение TEST\Henk как T\H?
- что-нибудь еще я должен искать?