webservice拦截器 查看消息包(soap)
服务端:
1.获取EndpointImpl对象
2.调用EndpointImpl对象中的方法获取In拦截器
3.调用EndpointImpl对象中的方法获取out拦截器
4.添加自己的In拦截器与Out拦截器
LogginInInterceptor:查看收到的消息包
LoggOutInterceptor:查看发出去的消息包
客户端:
需要导入cxf的7个jar包:
1.获取client对象
Client client=ClientProxy.getClient("ws服务组件代理对象") ---ws服务组件 就是 new 服务接口().getXxxPort(); 就是服务端服务接口的实现类
2.调用client对象中的方法获取In拦截器
3.调用client对象中的方法获取out拦截器
4.添加自己的In拦截器与Out拦截器
LogginInInterceptor:查看收到的消息包
LoggOutInterceptor:查看发出去的消息包
------------------------添加权限拦截器-----------------------------------
1.在soap包中添加Header元素,携带鉴定权限的数据
<Header>
<auth>
<auth_id>账号</auth_id>
<auth_pwd>密码</auth_pwd>
</auth>
</Header>
2.客户端------在发送soap包之前修改header头元素需要添加out拦截器
3.服务端------添加in拦截器解析soap包header头元素
4.自定义拦截器--需要继承AbstractPhaseInterceprot;
----------------------------自定义拦截器案例----------------------------
public class HeaderInterceptor extends AbstractPhaseInterceptor<SoapMessage> {
private String authId;
private String pwd;
public HeaderInterceptor(String authId, String pwd) {
/** 在发送soap包之前该拦截器起作用 */
super(Phase.PREPARE_SEND);
this.authId = authId;
this.pwd = pwd;
}
@Override
public void handleMessage(SoapMessage soapMessage) throws Fault {
/**
* <auth>
<auth_id>admin</auth_id>
<auth_pwd>888888</auth_id>
</auth>
*/
// 创建Document
Document doc = DOMUtils.createDocument();
// 创建Element
Element authEle = doc.createElement("auth");
Element idEle = doc.createElement("auth_id");
// 添加文本
idEle.setTextContent(authId);
Element pwdEle = doc.createElement("auth_pwd");
// 添加文本
pwdEle.setTextContent(pwd);
// 追加元素
authEle.appendChild(idEle);
authEle.appendChild(pwdEle);
// 创建Header头
Header header = new Header(new QName("it"), authEle);
// 获取所有的header头, 添加header头
soapMessage.getHeaders().add(header);
}
public String getAuthId() {
return authId;
}
public void setAuthId(String authId) {
this.authId = authId;
}
public String getPwd() {
return pwd;
}
public void setPwd(String pwd) {
this.pwd = pwd;
}
}
webservice拦截器 查看消息包(soap)的更多相关文章
- 5.webService拦截器
CXF为什么要设计拦截器? 为了在webservice请求过程中,能动态操作请求和响应数据, CXF设计了拦截器. 拦截器分类 1.按所处的位置分:服务器端拦截器,客户端拦截器 2.按消息的方向分:入 ...
- 7.添加基于Spring的WebService拦截器
客户端拦截器: public class AccountInterceptor extends AbstractPhaseInterceptor<SoapMessage>{ private ...
- 【WebService】WebService之CXF的拦截器(五)
CXF拦截器介绍 CXF拦截器是功能的主要实现单元,也是主要的扩展点,可以在不对核心模块进行修改的情况下,动态添加功能.当服务被调用时,会经过多个拦截器链(Interceptor Chain)处理,拦 ...
- 使用CXF为webservice添加拦截器
拦截器分为Service端和Client端 拦截器是在发送soap消息包的某一个时机拦截soap消息包,对soap消息包的数据进行分析或处理.分为CXF自带的拦截器和自定义的拦截器 1.Servi ...
- Struts 2 之拦截器
拦截器概述 Struts2拦截器是在访问某个Action或Action的某个方法,字段之前或之后实施拦截,并且Struts2拦截器是可插拔的,拦截器是AOP(Aspect Oriented Progr ...
- struts2 自定义异常拦截器配log4j
log4j.rootLogger = debug,stdout,F log4j.appender.stdout = org.apache.log4j.ConsoleAppender log4j.app ...
- Struts2拦截器的使用 (详解)
Struts2拦截器的使用 (详解) 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈default ...
- struts2:拦截器
拦截器(Interceptor)是Struts 2的核心组件,Struts 2框架的大部分功能都是通过拦截器来完成的,例如数据校验,国际化,文件上传和下载等.为了实现这些功能,Struts 2框架提供 ...
- struts拦截器的知识
如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了str ...
随机推荐
- 关于将客户端移植到Lua的解决方案设想。
现在发行商都需要cp们做热更新,而对于unity制作的游戏来讲,这个恐怕是个噩梦,而项目已经进行到中后期,确实很麻烦,有UniLua,但是如果全部手动解决恐怕上不了线了工作量太大,初步设想如果做一个基 ...
- 折腾iPhone的生活——越狱
这次我也加入了越狱大军,也不是为的什么免费软件,只是遵从我玩机的本质,既然想要玩透这个机子,当然要所有都试过来,就果断越狱了,关于越狱的好处和坏处,我会在另外一篇博客里阐述,这篇博客主要就说怎么样进行 ...
- nyoj 67 三角形面积【三角形面积公式】
三角形面积 时间限制:3000 ms | 内存限制:65535 KB 难度:2 描述 给你三个点,表示一个三角形的三个顶点,现你的任务是求出该三角形的面积 输入 每行是一组测试数据,有6个 ...
- JetBrains发布了一款免费的.NET反编译器dotPeek
Free .NET decompiler :: JetBrains dotPeek 主要的功能: Decompiling .NET 1.0-4.5 assemblies to C# Exporting ...
- Quartz.Net任务调度框架
Quartz.Net是一个开源的任务调度框架,非常强大,能够通过简单的配置帮助我们定时具体的操作. 相对于我们用的线程里面while(true)然后sleep来执行某个操作,应该算的上是高端,大气,上 ...
- LeetCode——Linked List Cycle
Given a linked list, determine if it has a cycle in it. Follow up: Can you solve it without using ex ...
- SQLite查询优化性能要点
Sqlite是轻量级的,在编译之后很小,其中一个原因就是在查询优化方面比较简单,它只是运用索引机制来进行优化的,经过对SQLite的查询优化的分析以及对源代码的研究,我将SQLite的查询优总结如下: ...
- java取得整数部分 代码
Pattern p1 = Pattern.compile("[0-9]*"); Matcher m1 = p1.matcher("100.0"); boolea ...
- Java基础知识强化之集合框架笔记38:Set集合之Set集合概述和特点
1. Set集合概述和特点 Collection |--List 有序(存储顺序和取出顺序一致),可重复 |--Se ...
- wpf提示背景,资源样式
查找资源时多用element.TryFindResource() <TextBox FontSize="17" Height="26" Margin=&q ...