cxf是一个webservice的框架,类似的还有axis,下面说一下cxf的基本使用。

  首先要下载cxf的文件,然后要在项目中引入jar包,当然也可以通过maven进行管理。我用的是最新的3.2.1版本,jar包很多,弄不太清楚,一股脑的全引入了。

  服务端

  然后编写服务端的代码,我的服务端的结构如下:

  StandardTime是一个实体对象,我的方法的返回值,自定义一个StandardTime是用来说明用cxf可以返回自定义的对象,也可以返回集合类型,基本类型,String等。

  然后是接口及实现类,最后WSServer用来启动webservice。

  接口及实现类如下:

  实体类及启动类如下

  启动类增加了一个日志出拦截器,可以用来打印返回给客户端的信息。

  客户端

  与jdk自带的框架不同,生成客户端的代码使用wsdl2java工具,关于wsdl2java的详细使用方式,请自行百度。

  先新建一个客户端的工程,建一个包如cxf.base.client,进入工程的src目录,在地址栏输入cmd并回车,会打开一个命令行窗口,目录为src目录,执行以下命令:

  wsdl2java -p cxf.base.client -client http://192.168.0.102:9999/synctimews?wsdl

  会生成客户端代码,如下:

  然后就可以进行测试了,测试类如下:

  这里也用到了一个日志出拦截器,会打印出客户端发出的信息,这里返回了一个自定义的对象。

  测试的结果如下:

  项目下载地址(不包括JAR):https://files.cnblogs.com/files/liunianfeiyu/cxfwebservice.rar

webserive学习记录2-cxf框架基础使用的更多相关文章

  1. webserive学习记录4-获取天气的例子

    学习到了如何创建使用webservice服务,下面就实际应用一下,从网络上获取天气数据. 先从网络上找到免费的webservice服务, 如这个网站:http://www.webxml.com.cn/ ...

  2. webserive学习记录3-eclipse创建webservice

    在用J2EE版的ECLIPSE学习WEBSERVICE的时候发现原来直接用该ECLIPSE就可以创建webservice,然后就自己动手用ECLIPSE自带的功能来建立WEBSERVICE服务端和客户 ...

  3. 【JSP】JSP基础学习记录(一)—— 基础介绍以及3个编译指令

    序: 从实现到现在一直是以.net为主,但偶尔也会参与一些其他语言的项目.最近需要对一个Java Web项目进行二次开发,一直没学习过JSP所以买了几本书自学试试.参考资料为<轻量级Java E ...

  4. Python 第五阶段 学习记录之--- Web框架

    什么是web服务器的原理是什么 Web框架本质 众所周知,对于所有的Web应用,本质上其实就是一个socket服务端,用户的浏览器其实就是一个socket客户端. #!/usr/bin/env pyt ...

  5. webserive学习记录6-页面请求webservice

    前面都是通过JAVA代码访问webservice服务,下面将介绍通过javascript,jquery访问webservice服务并介绍过过servlet解决跨域问题的方法. 服务端 编写服务代码,解 ...

  6. webserive学习记录5-拦截器完成登陆校验

    说说cxf中的拦截器,可以分为系统拦截器(如日志拦截器)和自定义拦截器,也可以分为出拦截器和入拦截器,也可以分为服务器拦截器和客户端拦截器. 下面将实现一个可以进行登陆验证的拦截器,其中用户名作为方法 ...

  7. webserive学习记录1-jdk自带webservice

    最近在看webservice有视频,想年后找工作时增加点资本,视频终于看完了,自己又增加了些东西,现在就把视频中学到的和自己发现的东西总结一下. java jdk中自带一个轻量级的webservice ...

  8. Spring学习记录5——数据库事务基础知识

    何为数据库事务 “一荣共荣,一损共损”这句话很能体现事务的思想,很多复杂的事务要分步进行,但它们组成了一个整体,要么整体生效,要么整体失效.这种思想反映到数据库上,就是多条SQL语句,要么全部成功,要 ...

  9. 我的three.js学习记录(二)

    通过上一篇文章我的three.js学习记录(一)基本上是入门了three.js,但是这不够3D,这次我希望能把之前做的demo弄出来,然后通过例子来分析操作步骤. 1. 示例 上图是之前做的一个dem ...

随机推荐

  1. 后台取IE的相关信息

    HttpBrowserCapabilities b = Request.Browser; Response.Write("浏览器名称和版本号:" + b.Type + " ...

  2. thinkPHP5 引入模板

    有三种方法:第一种: 直接使用 return view(); 助手函数第二种: use think\View; class Admin extends View 见下第三种: use think\Co ...

  3. Django安装与介绍

    安装 Django是以Python为语言环境的,所以要先确保计算机上已经安装了Python. Linux ubuntu: sudo pip install Django==1.11.7 安装中指定了版 ...

  4. 使用axis2的wsdl2java把wsdl生成java文件

    原文地址:http://blog.csdn.net/walkcode/article/details/7661674 有时在我们的开发中可能会有这种情况就是你要使用webservice但是对方没有给你 ...

  5. JSP+JavaBean+Servlet技术(MVC模型)

    一,Servlet开发用户在浏览器中输入一个网址并回车,浏览器会向服务器发送一个HTTP请求.服务器端程序接受这个请求,并对请求进行处理,然后发送一个回应.浏览器收到回应,再把回应的内容显示出来.这种 ...

  6. vscode美化方法以及定制主题插件

    首先是学会调整字体和字体大小 换成你看着舒服的字体和字体大小,当然,通常情况下默认的就很好看,但每个人的显示屏参数不同显示起来的效果因人而异,如果你有更好的方案不妨设置一下 下面展示我的浅色主题和深色 ...

  7. jackson快速实现对象与json之间的转换

    Maven依赖: <dependency> <groupId>com.fasterxml.jackson.dataformat</groupId> <arti ...

  8. 显式等待大结局___封装成API方便控制层调用

    控制层 测试用例层: 控制层示例代码: #coding=utf-8from selenium.webdriver.common.by import Byfrom selenium.webdriver. ...

  9. 大家都对vertical-align的各说各话

    原文地址:http://www.blueidea.com/tech/web/2008/5892.asp 最近几天仔细研究了一下vertical-align这个属性,结果让我大吃一惊,这个很“资深”的C ...

  10. 自己写的一个jQuery分页插件

    ;(function($){ $.fn.extend({ pageList: function (json) { function PageList() { this.initHtml = " ...