如何使用基本身份验证配置 Camel CXF
我是 Apache Camel 和 CXF 的新手,
I'm new to Apache Camel and CXF,
我正在尝试创建一个路由来查询需要基本身份验证的远程 WS 并指定 Soap Action 标头.
I'm trying to create a route for querying a remote WS which requires Basic Authentication and to specify the Soap Action header.
我能够使用骆驼 HTTP 组件实现相同的功能,但我需要使用骆驼 CXF在java DSL中
I was able to achieve the same using camel HTTP component but i needed the same with camel CXF in java DSL
任何人都可以指导我们修复相同的问题
Can anyone guide us in fixing the same
推荐答案
如果你想使用camel-cxf组件设置Basic认证,你需要像这样在CxfEndpoint上做一些配置.
If you want to use camel-cxf component to setup the Basic authentication, you need do some configuration on the CxfEndpoint just like this.
CxfEndpoint cxfEndpoint = camelContext.getEndpoint("cxf:xxx");
// set the authentication information
Map<String, Object> properties = new HashMap<String, Object>();
org.apache.cxf.configuration.security.AuthorizationPolicy authPolicy = new AuthorizationPolicy();
authPolicy.setUserName(username);
authPolicy.setPassword(password);
properties.put(AuthorizationPolicy.class.getName(), authPolicy);
cxfEndpoint.setProperties(properties);
from("xxx").to(cxfEndpoint);
相关文章