0

我想通过 apache camel 调用 NTLM 认证服务。如果我在没有任何 Java DSL 配置的情况下直接调用它会失败并显示 401 状态,如下所示,有没有办法在调用服务时添加 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");
4

1 回答 1

1

Camel 使用 Apache HTTP 客户端作为 HTTP 生产者。默认情况下应该支持NTLM 。

但是,这适用于 HTTP 客户端的版本 4。版本 3 只有有限的 NTLM 支持(逆向工程)。要在 Camel 中使用版本 4,请.to("http4://projectname.csq.YY.net/api/service")改用。

于 2013-08-22T19:53:59.423 回答