客户端使用NTLM身份验证使用Web服务

时间:2016-10-07 18:04:43

标签: web-services soap

在调用服务时出现此错误。

401 - 未经授权:由于凭据无效,访问被拒绝

我尝试创建 NtlmAuthenticator 类,扩展身份验证器 并使用DOMAIN \ USERNAME和PASSWORD格式传递凭据。 还设置Authenticator.setDefault(ntlmAuthenticator)。不行。

任何回复都会非常有帮助。

1 个答案:

答案 0 :(得分:0)

跟随Oracle documentation发现NTLM可以与代理或服务器一起使用,但不能同时使用两者。

已使用apache CXF,这次是有效的。

添加了以下代码

Client client = ClientProxy.getClient(port);
HTTPConduit http = (HTTPConduit) client.getConduit();
HTTPClientPolicy httpClientPolicy = new HTTPClientPolicy();
httpClientPolicy.setConnectionTimeout(36000);
//httpClientPolicy.setAllowChunking(false);
http.setClient(httpClientPolicy);