Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
具有NTLM身份验证的SOAP web服务Java客户端_Java_Axis2_Cxf_Ntlm - Fatal编程技术网

具有NTLM身份验证的SOAP web服务Java客户端

具有NTLM身份验证的SOAP web服务Java客户端,java,axis2,cxf,ntlm,Java,Axis2,Cxf,Ntlm,我花了很多时间试图找到一个合适的Java框架,可以连接到使用协商/NTLM身份验证的Microsoft Dynamics CRM。我使用JAX-WS、Axis2、CXF和各种HTTP协议处理程序,尝试了有关Stackoverflow和其他资源的所有现有建议。他们没有一个人像预期的那样工作。目前最好的方法是Axis2/commons-httpclient-3.1,其中我可以使用NTLM digest跟踪至少所有三个阶段,但是目标IIS仍然拒绝使用401 Unauthorized进行身份验证。Apa

我花了很多时间试图找到一个合适的Java框架,可以连接到使用协商/NTLM身份验证的Microsoft Dynamics CRM。我使用JAX-WS、Axis2、CXF和各种HTTP协议处理程序,尝试了有关Stackoverflow和其他资源的所有现有建议。他们没有一个人像预期的那样工作。目前最好的方法是Axis2/commons-httpclient-3.1,其中我可以使用NTLM digest跟踪至少所有三个阶段,但是目标IIS仍然拒绝使用401 Unauthorized进行身份验证。ApacheCXF-内置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规范是正确的。老实说,实施起来并不困难,但现在你必须自己维护自己,这可能是不可取的,原因有很多。

我忘了,所以说我自己也找到了解决办法。线索是用+替换标准Java协议栈,并做一些小的补丁来使用JAX-WS。

请检查上面的自我回答检查:Kerberos配置文件支持应该在CXF中(请参阅)。否则检查项目。嗨!你解决了吗?是的。你能详细说明一下这个解决方案吗?