cxf和axis2使用有感
- CXF框架
个人不喜欢使用wsimport工具:
1.考虑到远端的服务接口发生变化,本地的接口还需要重新同步下
2.项目中无端多了些冗余的代码
这样我们选择cxf的动态调用接口吧,使用DynamicClientFactory这个接口,到可以避免上面的问题。但是DynamicClientFactory在首次使用时会生成所有的类,你可以在日志中看到如下:
信息: Created classes: com.wc8.Add, com.wc8.AddResponse, com.wc8.Cat, com.wc8.Customer, com.wc8.FindCustomer, com.wc8.FindCustomerResponse, com.wc8.GetCatsByUser, com.wc8.GetCatsByUserResponse, com.wc8.Minus, com.wc8.MinusResponse, com.wc8.ObjectFactory, com.wc8.ResponseBean, com.wc8.ResponseOrderBean, com.wc8.User, com.wc8.VODAllowOrder, com.wc8.VODAllowOrderResponse
所以首次调用效率一定很低,但是在后面的调用中,效率会提高很多,以下是测试:
- AXIS2框架
为了避免首次的效率问题,我开始研究axis2,结论如下:
1.效率方面不存在首次效率如此低的问题,下面是测试表:

2.当返回值中如果是自定义对象的话(先转成json,客户端再反转为object),需要在本地建立和远程对应的对象。如果远程对象发生变化,本地的对象也要发生变化,不然会调用失败,抛出如下错误:
org.codehaus.jackson.map.exc.UnrecognizedPropertyException: Unrecognized field "name" (Class ResponseBeanTk), not marked as ignorable
at [Source: java.io.StringReader@a6df38e; line: 1, column: 73] (through reference chain: ResponseBeanTk["name"])
这又是我痛恨的原因。。。
好吧 看情况而定吧
cxf和axis2使用有感的更多相关文章
- Java主流Web Service框架介绍:CXF和Axis2
CXF和Axis2是目前java平台上最主流的两个框架,虽然两个项目都隶属ASF,但却是基于不同思想和风格实现的,因此也各有所长. CXF:http://cxf.apache.org/ 是由过去的 ...
- CXF和Axis2开发webservice也是可以添加asmx等后缀
在当家互联网时代, 手机APP所需要的后台服务接口经常会变化, 如果前期没有设计好, 把它们的请求地址配置在比较稳定不会经常修改的地址(例如专门一个后台服务用于获取所有最新的数据服务地址)这样不会因为 ...
- CXF和Axis2的区别
1.CXF支持 WS-Addressing,WS-Policy, WS-RM, WS-Security和WS-I Basic Profile.Axis2不支持WS-Policy,但是承诺在下面的版本支 ...
- CXF WebService整合SpringMVC的maven项目
首先推荐博客:http://www.cnblogs.com/xdp-gacl/p/4259481.html http://blog.csdn.net/hu_shengyang/article/de ...
- webService总结(一)——使用CXF公布和调用webService(不使用Spring)
CXF和Axis2是两个比較流行的webService框架,接下来我会写几篇博客简介怎样使用这两种框架. 首先,先简介一下CXF的使用. CXF公布webService有多种方法.这里我介绍三种: 1 ...
- CXF实现webService服务(一)
以前工作中也用CXF,但都是用别人现成搭好的环境,这次自己重头搭建一遍环境.过程中也有遇到的问题,也做了简单的整理. 对于CXF是干什么用的,我不想多说,大家都知道这是我们在Java编程中webSer ...
- Java WebService _CXF、Xfire、AXIS2、AXIS1_四种发布方式(使用整理)
目录 1. CXF方式2. Xfire方式3. AXIS2方式4. AXIS1方式5. AXIS1客户端调用6. AXIS2客户端调用7. CXF客户端调用8. Web Service Client客 ...
- WebService学习总结(四)--基于CXF的服务端开发
本节将实践目前最流行的第二种web service 发布和调试框架 CXF Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构.它允许创建高性能和可扩 ...
- spring帝国-开篇
spring简介: spring是一个开源框架,spring是于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson 在其著作Expert One-On-One J2EE Dev ...
随机推荐
- python基础之协程,列表生成式,生成器表达式
三元表达式 #三元表达式 name = 'alex' name = 'egon' res='SB' if name == 'alex'else 'shuai' print(res)#输出:shuai ...
- mcake活动维护常见问题记录【wap端】 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★
★ ★ ★ ★ ★ ★ ★ ★ ★ ★ wap端问题及解决方法 ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ ★ 一.wap端弹窗 .Dialogbg-Select{ background-co ...
- New Concept English three (35)
27 55 The word justice is usually associated with courts of law. We might say that justice has been ...
- webpack 使用中的问题
用gulp-watch代替watch webpack打包体积分析器 集合
- PostgreSQL EXPLAIN执行计划学习--多表连接几种Join方式比较
转了一部分.稍后再修改. 三种多表Join的算法: 一. NESTED LOOP: 对于被连接的数据子集较小的情况,嵌套循环连接是个较好的选择.在嵌套循环中,内表被外表驱动,外表返回的每一行都要在内表 ...
- Ubuntu語言支持爲灰色修復方法
Ubuntu語言支持爲灰色修復方法 在Ubuntu12.04中,在下不知爲何將 語言支持 中 應用到整個系統 和 添加語言 這2個按弄成了灰色,導致ibus不能輸入中文,現在唔將修復方法公告天下: 1 ...
- iOS Charles Proxy 教程
原文:Charles Proxy Tutorial for iOS 作者:Aaron Douglas 译者:kmyhy 有时不得不承认--我们曾经写过一些代码,它们不正确,但我们又无法调试.更麻烦的是 ...
- 行为驱动开发BDD概要
BDD脱胎于TDD 行为驱动开发(Behavior-Driven Development,简称BDD),是在测试驱动开发(Test-Driven Development,TDD)基础上发展而来的一种软 ...
- HihoCoder1619 “共同富裕”(逆向思维)
“共同富裕” 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定一个数组A1, A2, ... AN,每次操作可以从中选定一个元素Ai,把除了Ai之外的所有元素都加1. ...
- Microsoft office2007免费版下载(安装 + 破解)
office2007官方下载 免费完整版是微软推出的办公软件,office2007使用方法很简单,解压软件之后,运行“setup.exe”之后按照提示点击下一步,输入产品秘钥,就可以正常安装了.Mic ...