我花了許多日夜嘗試找到可以連接到使用Negotiate/NTLM身份驗證的Microsoft Dynamics CRM的正確Java框架。我用各種HTTP協議處理程序在JAX-WS,Axis2,CXF上嘗試了所有關於Stackoverflow和其他資源的建議。沒有人按預期工作。目前最好的方法是Axis2/commons-httpclient-3.1,我可以用NTLM摘要跟蹤至少所有三個階段,但是目標IIS仍然拒絕401未授權的身份驗證。 Apache CXF--既有內置的Java6 NTLM支持,也有一些人建議作爲補救措施的jCIFS,因爲前者在第二次401響應失敗時無效(雖然它應該發送第三個請求,根據協議),後者嘗試從空輸入流讀取響應代碼並失敗。用於使用NTLM身份驗證的SOAP Web服務的Java客戶端
所以,問題是,是否有人成功地從Java 6平臺掌握受NTLM保護的SOAP Web服務?
檢查:Kerberos配置文件支持應該在CXF中(參見['KerberosTokenPolicyValidator'](http://svn.apache.org/viewvc/cxf/trunk/rt/ws/security/src/main/java/org /apache/cxf/ws/security/wss4j/policyvalidators/KerberosTokenPolicyValidator.java?view=markup&pathrev=1149227))。否則,請選中[wss4j-kerberos](http://wss4j-kerberos.svn.sourceforge.net/viewvc/wss4j-kerberos/trunk/src/org/apache/ws/security/processor/KerberosTicketProcessor.java?revision=HEAD&view=標記)項目。 –
嗨!你解決了嗎? –
是的。請參閱http://stackoverflow.com/a/7274388/802831 –