HTTP/1.1 401使用GSOAP调用EWS时出现未经授权的错误



我用c++创建了一个GSOAP客户端应用程序,用于调用EWS方法。我的EWS是一个https URL。我只使用正确的凭据,但我得到的响应如下。

HTTP/1.1 401未经授权缓存控制:专用服务器:Microsoft IIS/7.5X-AspNet-版本:2.0.50727设置Cookie:exchangecookie=b56b1f57339240a88983be18ce6a50ad;expires=2013年1月30日星期三10:59:16 GMT;路径=/;HttpOnlyWWW身份验证:协商WWW身份验证:NTLMX-Powered-By-ASP.NET日期:2012年1月30日星期一10:59:16 GMT连接:关闭内容长度: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);}

请告诉任何人可能出了什么问题。

谢谢。

使用cc-DWITH_NTLM(或在获胜时使用/DWITH_LNTLM)重新编译源代码,以启用gSOAP NTLM身份验证协议。

最新更新