2013-08-22 68 views
0

我想通過apache駱駝來調用NTLM身份驗證服務。如果我沒有使用任何Java DSL配置直接撥打電話,它會以401狀態失敗,在調用服務時是否有添加NTLM身份驗證模式,用戶名和密碼的方法?Apache Camel - NTLM配置

from("direct:link.XXX.soap.out")      
.setHeader(Exchange.HTTP_METHOD, constant(org.apache.camel.component.http4.HttpMethods.POST)) 
.setHeader(Exchange.CONTENT_TYPE, constant("application/soap+xml")) 
.log(LoggingLevel.WARN,"routes","SOAP message:\n${body}") 
.to("http://projectname.csq.YYY.net/api/service") 
.to("file:logs/XXX.out.soapreply"); 

回答

1

Camel爲HTTP生產者使用Apache HTTP客戶端。默認情況下NTLM應該是supported開箱即用。

但是,這適用於HTTP客戶端的版本4。版本3只有有限的NTLM支持(反向工程)。要在駱駝中使用版本4,請改爲使用.to("http4://projectname.csq.YY.net/api/service")

+0

是的,我的駱駝運行在Linux服務器上,NT身份驗證不默認。所以我需要在發佈請求時明確指定NT用戶標識和密碼。有什麼想法嗎? –

+0

但是,你真的使用http4組件,而不是http3,它看起來像你在示例代碼? –