Jiř*_*řík 5 java axis2 ntlm cxf
我花了很多天,试图找到一个可以连接到使用Negotiate/NTLM身份验证的Microsoft Dynamics CRM的正确Java框架.我使用各种HTTP协议处理程序,使用JAX-WS,Axis2,CXF尝试了Stackoverflow和其他资源上的所有现有建议.没有人像预期的那样工作.目前最好的方法是Axis2/commons-httpclient-3.1,我可以使用NTLM摘要跟踪至少所有三个阶段,但目标IIS仍然拒绝使用401 Unauthorized进行身份验证.阿帕奇CXF - 都与一个内置的Java6 NTLM支持和JCIFS,其中一些人建议的一种补救措施,也没有工作,要么因为前者未能在第二401响应(虽然它应该已经发送第三请求,根据协议),后者尝试从空输入流中读取响应代码并失败.
那么,问题是是否有人成功地从Java 6平台掌握了受NTLM保护的SOAP Web服务?
我希望其他人能插话,因为我对这个领域的了解已经有好几年了,也许不是最好的建议——特别是,我只使用过 commons-httpclient 3,而没有任何新的软件包承诺这样做NTLM/NTLMv2 正确。
您可能已经注意到,commons-httpclient 3 的 NTLM 身份验证代码仅支持 NTLM,而不支持较新的 NTLMv2 协议。我对此问题的解决方案是使用 commons-httpclient 3 并用支持 NTLMv2 的解决方案替换 NTLM 身份验证代码。幸运的是,NTLMv2 规范是由 Microsoft 发布的。老实说,实施起来并不困难,但当然,现在你必须自己维护它,由于多种原因,这可能是不可取的。
| 归档时间: |
|
| 查看次数: |
5329 次 |
| 最近记录: |