我花费了许多天和夜晚尝试找到一个适合连接使用Negotiate/NTLM身份验证的Microsoft Dynamics CRM的Java框架。我尝试过Stackoverflow和其他资源中所有现有的建议,包括JAX-WS、Axis2、CXF以及各种HTTP协议处理程序。但这些方法都没有按照预期工作。目前最好的方法是使用Axis2/commons-httpclient-3.1,我可以追踪至少带有NTLM digest的三个阶段,但是目标IIS仍然拒绝进行401 Unauthorized身份验证。Apache CXF(内置Java6 NTLM支持)和jCIFS也无法解决问题,前者在第二次401响应时失败(根据协议应该发送第三个请求),而后者则尝试从空输入流中读取响应代码并失败。
因此,问题是是否有人成功地从Java 6平台上使用NTLM保护的SOAP Web服务?
KerberosTokenPolicyValidator
)。否则,请检查 wss4j-kerberos 项目。 - dma_k