【发布时间】:2011-01-29 19:34:46
【问题描述】:
在需要 NTLM 身份验证的 http 代理服务器上对 Axis2(1.4 版)客户端进行身份验证的正确方法是什么?
我正在使用以下代码提供代理凭据,但身份验证仍然失败(请参阅最后的详细信息):
Options options = serviceStub._getServiceClient().getOptions();
options.setProperty(HTTPConstants.CHUNKED, false);
options.setProperty(HTTPConstants.PROTOCOL_VERSION, HTTPConstants.HEADER_PROTOCOL_10);
ProxyProperties proxyProperties = new ProxyProperties();
proxyProperties.setProxyName("123.123.123.123");
proxyProperties.setProxyPort(8080);
proxyProperties.setUserName("myUser@www.example.org");
proxyProperties.setPassWord("1234");
proxyProperties.setDomain("");
options.setProperty(HTTPConstants.PROXY, proxyProperties);
使用完全相同的凭据,诸如 Firefox 之类的网络浏览器能够通过代理,因此我假设代理服务器已正确设置。但是,对于 Axis2 客户端,身份验证失败(HTTP 状态代码是“需要 407 代理身份验证”)。
更多详情: 我使用网络嗅探器比较了 Firefox 和我的客户端的网络流量。主要区别似乎是,axis2 客户端正在为 ntlm 质询发送一个空响应。
是否有人使用 NTLM 在 http 代理服务器上成功进行了身份验证?能给我一个代码示例吗?
【问题讨论】:
标签: java authentication proxy axis2 ntlm