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;
}
}
转载于:https://www.cnblogs.com/ly-china/p/5444516.html
webservice拦截器 查看消息包(soap)相关推荐
- kafka 自定义Interceptor(通过拦截器对消息进行定制化处理)
文章目录 1. 说明 1.1 configure(configs) 1.2 onSend(ProducerRecord) 1.3 onAcknowledgement(RecordMetadata, E ...
- SpringBoot中文件下载、拦截器、war包部署、jar包部署
3. SpringBoot中文件下载 将可以被下载资源放在磁盘的 D:\springbootcodes\springboot_day6\download 路径 这里我们使用jsp开发 引入依赖使tom ...
- Java笔记-springframework.ws中拦截器的使用(SOAP)
这里首先说下客户端拦截器. 这里要实现的效果 这里的打印都是在拦截器中打印的! 下面要介绍如下的东西,如何在拦截器中打印这些东西,其次是在拦截器中添加一个head 对应的Maven <?xml ...
- Spring Boot 自动加载指定包下的拦截器
Spring Boot 在我们需要对程序添加拦截器需要使用 WebMvcConfigurerAdapter 中的 addInterceptors方法去注册拦截器,这样我们如果在程序里面有多个拦截或者我 ...
- Struts2拦截器实现异常处理机制
http://bbs.itcast.cn/thread-10364-1-1.html Struts2拦截器实现异常处理机制 在j2ee项目中,系统内部难免会出现一些异常,如果把异常放任不管直接打印 ...
- Struts2拦截器的使用
如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈defaultStack,如下(这里我是引用了str ...
- Stust2的拦截器的运行流程及使用方法、注意事项
拦截器是Strust2的一大特色:拦截器是对用户请求(.do,.action或者其他)的一种审查和额外的处理.拦截器与程序核心代码分离,实现了AOP面向切面编程的技术原理:而且帮助程序完成用户请求的安 ...
- Struts2拦截器的使用 (详解)
Struts2拦截器的使用 (详解) 如何使用struts2拦截器,或者自定义拦截器.特别注意,在使用拦截器的时候,在Action里面必须最后一定要引用struts2自带的拦截器缺省堆栈default ...
- springMVC使用拦截器针对控制器方法做预处理、后处理、资源清理
简单了解一下过滤器和拦截器: 过滤器是servlet规范中的一部分,任何java web工程都可以使用:在url-pattern中配置/*之后,可以对所有要访问的资源拦截.拦截器是springMVC框 ...
最新文章
- 【Cocos2d-X开发笔记】第一期 Cocos2d-X的环境搭建
- linux 改成utc时间_C++下四种常用的程序运行时间的计时方法总结
- sql 一个字段在另外一个表没出现_都9012年啦,不懂得这些SQL语句优化,你是要吃大亏的...
- 绑定dictionary 给定关键字不再字典中_对字典嵌套的理解及二级下拉菜单的制作...
- C语言新思路跟未来教育哪个好,计算机等级考试用什么书好 未来教育的书怎么样?貌似网上评价很高...
- JavaScript制作页面跳转效果
- 4大MQ消息队列的比较
- 计算机一级exc除法函数,excel除法函数 excel除法如何表示
- VS中给qt按钮添加图标
- Python:Pygame的图形接口
- 10段世界最美的英语美文
- python代码图片头像_python图像处理-个性化头像
- 解决!只有IE64位浏览器能上网,其他软件都上不了网
- TomCat报404错误是什么原因该怎么解决
- Windows 10 C盘所有软件,安装到D盘
- 软件测试学习 之 Python 两种执行方式——python和python -m 的区别
- 认识Linux文件系统inode和查看inode相关信息
- Git进阶(五):git 分支管理策略
- PHP开发的微信公众平台消息接口具体流程
- C++高性能服务框架revolver:RUDP(可靠UDP)算法详解