我正在使用ksoap2 3.6 .
我正在尝试访问使用NTLM保护的soap Web服务 . 我找到了ksoap2-extra-ntlm-3.6.0.jar文件并将其添加到我的项目中,认为这是我的保存优雅 .
NtlmTransport ntlmTransport = new NtlmTransport(BASE_URL);
ntlmTransport.setCredentials(USERNAME, PASSWORD, DOMAIN, "");
ntlmTransport.call(name_space + method_name, envelope);
但是,我收到了未经授权的401响应代码 . 我已经通过.NET和基于浏览器的身份验证方法验证了我的用户名,密码和域名,所以我知道这些是正确的 .
问题:我如何实际验证并通过401代码?
谢谢 .
1 回答
这对我有用 .
由于ksoap2是开源的,我偷看了NtlmTransport的代码并以下列方式改变了调用方法 .
我删除了:
并使用以下代码替换该代码:
我用try ... finally块包装了执行和响应代码,以关闭finally块中的客户端 . 现在就像一个魅力 .
我补充道
到我的gradle文件 .
以为有人可能会受益 .
谢谢 .