CXF客户端添加header权限认证
来源:互联网 发布:淘宝运费险多少钱 编辑:程序博客网 时间:2024/05/29 08:03
cxf作为web service客户端,有以下几种方式,分别说明在方式下怎样添加header权限认证
假设服务端已经设置了权限认证,并且头部信息为
<soapenv:Header> <auth> <name>admin</name> <password>123456</password> </auth></soapenv:Header>
方式一
1. 先添加统一的拦截器
public class ClientAuthInterceptor extends AbstractPhaseInterceptor<SoapMessage> { private static final String NAME = "admin"; private static final String PASSWORD = "123456"; public ClientAuthInterceptor() { //准备发送阶段 super(Phase.PREPARE_SEND); } @Override public void handleMessage(SoapMessage message) throws Fault { List<Header> headers = message.getHeaders(); Document doc = DOMUtils.createDocument(); Element auth = doc.createElement("auth"); Element name = doc.createElement("name"); name.setTextContent(NAME); Element password = doc.createElement("password"); password.setTextContent(PASSWORD); auth.appendChild(name); auth.appendChild(password); headers.add(new Header(new QName(""), auth)); }}
public static void main(String args[]) { JaxWsDynamicClientFactory clientFactory = JaxWsDynamicClientFactory.newInstance(); Client client = clientFactory.createClient("http://localhost:8080/admin/cxfService?wsdl"); try { client.getOutInterceptors().add(new ClientAuthInterceptor()); Object[] result = client.invoke("sayHello", "KEVIN"); System.out.println(result[0]); } catch (Exception e) { e.printStackTrace(); } }
方式二
1. 先添加客户端的拦截器,跟方式一中的相同
2. 使用cxf提供的代码生成工具 wsdl2java 生成代码,wsdl2java的使用方式,请谷歌
wsdl2java -p com -d ../src -client -encoding utf-8 http://localhost:8080/admin/cxfService?wsdl
3.编写客户端
public static void main(String args[]) { HelloWorldImplService ss = new HelloWorldImplService();//自动生成的类 HelloWorld port = ss.getHelloWorldImplPort();//自动生成的类 Client client= ClientProxy.getClient(port); client.getOutInterceptors().add(new ClientAuthInterceptor()); System.out.println(port.sayHello("hello,world")); }
阅读全文
0 0
- CXF客户端添加header权限认证
- 关于Apache-CXF客户端权限认证
- CXF调用webservice 客户端 带soap header认证
- cxf添加身份认证
- CXF客户端添加拦截器报错
- CXF-06:Web Service暴露后如何进行权限控制,CXF拦截器的理论以及如何为CXF的客户端和服务器端添加拦截器
- CXF为服务器端和客户端添加自定义拦截器进行权限检查验证并且控制台打印日志(4)
- CXF:为服务器端和客户端添加自定义拦截器进行权限检查验证并且控制台打印日志
- Java 调用Web service 添加认证头(soapenv:Header)
- Axis2.0客户端添加base认证
- cxf客户端
- CXF--客户端
- Webservice:CXF添加拦截器实现权限控制
- Greenplum中角色权限及客户端认证管理
- svn的客户端凭证缓存(账号密码权限认证)
- CXF 安全认证
- Cxf Webservice安全认证
- CXF 安全认证
- robots.txt SEO 与搜索引擎
- 指定数组同时指定要查找的数,找出这个数在数组中的起始位置和结束位置
- 一、正确姿势搭建maven+web项目
- 小波理解
- 对可空类型使用as操作符
- CXF客户端添加header权限认证
- 使用LVS实现负载均衡原理及安装配置详解
- Spring JdbcTemplate打印执行的SQL语句
- Java的Executor框架和线程池实现原理
- TokenProccessor 工具类的生成
- 我的javascript权威指南-7
- SpringBoot静态资源处理 火推05
- ScrollView、SwipeRefreshLayout、ListView、RecyclerView等控件解决滑动冲突
- Uboot编译过程分析