HTTP / 1.1 401 Несанкционированная ошибка при вызове EWS с GSOAP - PullRequest
0 голосов
/ 30 января 2012

Я создал клиентское приложение GSOAP на c ++ для вызова методов EWS. Мой EWS - это https URL. Я использую только правильные учетные данные, но я получаю ответ следующим образом.

HTTP/1.1 401 Unauthorized  
Cache-Control: private  
Server: Microsoft-IIS/7.5  
X-AspNet-Version: 2.0.50727  
Set-Cookie: exchangecookie=b56b1f57339240a88983be18ce6a50ad; expires=Wed, 30-Jan-2013      10:59:16 GMT; path=/; HttpOnly  
WWW-Authenticate: Negotiate  
WWW-Authenticate: NTLM   
X-Powered-By: ASP.NET  
Date: Mon, 30 Jan 2012 10:59:16 GMT  
Connection: close  
Content-Length: 0  

Ниже приведен фрагмент кода.

ExchangeServiceBindingProxy *proxy =  new ExchangeServiceBindingProxy();  
proxy->soap_endpoint = "https://xxxx/EWS/exchange.asmx";  
proxy->userid = "xxxxx";  
proxy->passwd= "xxxxx";  
proxy->recv_timeout = 300;  
proxy->send_timeout = 300;  
proxy->version = ns3__ExchangeVersionType__Exchange2010;  
soap_ssl_init();  
if (soap_ssl_client_context(proxy,SOAP_SSL_NO_AUTHENTICATION, NULL, NULL, NULL,NULL,NULL)){ exit(1);}

Пожалуйста, предложите кому-нибудь, в чем может быть проблема.

Спасибо.

1 Ответ

0 голосов
/ 11 февраля 2012

Перекомпилируйте исходный код с помощью cc -DWITH_NTLM (или / DWITH_NTLM при победе), чтобы включить протокол аутентификации gSOAP NTLM.

...