博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
webservice客户端拦截器
阅读量:6239 次
发布时间:2019-06-22

本文共 2852 字,大约阅读时间需要 9 分钟。

hot3.png

/** * @author xp * @Title: ClientMain.java * @Package test * @Description: TODO * @date 2016年5月1日 下午6:39:44 * @version V1.0   */package test;import java.util.List;import org.apache.cxf.endpoint.Client;import org.apache.cxf.feature.LoggingFeature;import org.apache.cxf.frontend.ClientProxy;import org.apache.cxf.interceptor.LoggingInInterceptor;import org.apache.cxf.interceptor.LoggingOutInterceptor;import com.xp.cn.ws.Cat;import com.xp.cn.ws.Entry;import com.xp.cn.ws.IWebServiceDemo;import com.xp.cn.ws.StringCat;import com.xp.cn.ws.User;import com.xp.cn.ws.impl.WebServiceImpl;/** * @author xp * @ClassName: ClientMain * @Description: TODO * @date 2016年5月1日 下午6:39:44 * */public class ClientMain {	public static void main(String[] args) {		//继承Service的类当成工厂使用		WebServiceImpl webServiceImpl = new WebServiceImpl();		//此处返回的只是远程webservice的代理		IWebServiceDemo webService = webServiceImpl.getWebServiceImplPort();						//客户端拦截器写在调用服务端方法之前		//org.apache.cxf.frontend.ClientProxy.getClient();		Client client = ClientProxy.getClient(webService);		client.getInInterceptors().add(new LoggingInInterceptor());		client.getOutInterceptors().add(new LoggingOutInterceptor());		//客户端拦截器写在调用服务端方法之前				String sayHello = webService.sayHello("xp");		System.out.println(sayHello);//		User user = new User();//		user.setName("jaychou");//		user.setPassword("jaychou");//		List
 catsByUser = webService.getCatsByUser(user);// for (Cat cat : catsByUser) {// System.out.println(cat.getName());// System.out.println(cat.getColor());// }// StringCat allCats = webService.getAllCats();// for (Entry cats : allCats.getEntries()) {// System.out.println(cats.getKey() + "==" + cats.getValue().getName());// } }}

控制台的日志信息如下:

五月 02, 2016 8:16:20 下午 org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromWSDL信息: Creating Service {http://impl.ws.cn.xp.com/}webServiceImpl from WSDL: http://127.0.0.1/XXX?wsdl五月 02, 2016 8:16:20 下午 org.apache.cxf.services.webServiceImpl.WebServiceImplPort.IWebServiceDemo信息: Outbound Message---------------------------ID: 1Address: http://127.0.0.1/XXXEncoding: UTF-8Http-Method: POSTContent-Type: text/xmlHeaders: {Accept=[*/*], SOAPAction=[""]}Payload: 
xp
--------------------------------------五月 02, 2016 8:16:20 下午 org.apache.cxf.services.webServiceImpl.WebServiceImplPort.IWebServiceDemo信息: Inbound Message----------------------------ID: 1Response-Code: 200Encoding: UTF-8Content-Type: text/xml;charset=UTF-8Headers: {content-type=[text/xml;charset=UTF-8], Server=[Jetty(8.1.14.v20131031)], transfer-encoding=[chunked]}Payload: 
你好xpMon May 02 20:16:20 CST 2016
--------------------------------------你好xpMon May 02 20:16:20 CST 2016

转载于:https://my.oschina.net/u/2253438/blog/668821

你可能感兴趣的文章
ASP.NET中GridView数据导出到Excel
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
swoole项目思维转换 -- 前篇
查看>>
我的友情链接
查看>>
Redis之----Redis的数据类型和操作
查看>>
只读字段与标签字段
查看>>
ubuntu修改时区和时间的方法
查看>>
maven实战 读书笔记三#高级程序员进阶之路#
查看>>
硬盘安装windows 7
查看>>
编译器编译原理--详解
查看>>
第五章 择偶
查看>>
用Fiddler模拟低速网络环境
查看>>
《跟阿铭学Linux》第8章 文档的压缩与打包:课后习题与答案
查看>>
Python练习2
查看>>
新安装的python2.7无法加载error while loading shared libraries: libpython2.7.so.1.0
查看>>
js反混淆解密
查看>>
Exchange Server 2010 DAG搭建及灾难恢复部署方案(准备环境)
查看>>
Android使用本地页面调用android代码
查看>>
MyBatise配置使用
查看>>