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. UOJ 393 【NOI2018】归程——可持久化并查集

    题目:http://uoj.ac/problem/393 题解:https://www.cnblogs.com/HocRiser/p/9368067.html 但过不了 UOJ 的 hack 数据.不 ...

  2. linux vim tutor

    ================================================================================      欢     迎     阅  ...

  3. Python获取当前年月日

    import datetime datetime.datetime.now().year datetime.datetime.now().month datetime.datetime.now().d ...

  4. PHP include 和 require 语句 (调用其他php文件进来的方法)

    PHP include 和 require 语句通过 include 或 require 语句,可以将 PHP 文件的内容插入另一个 PHP 文件(在服务器执行它之前). require 会生成致命错 ...

  5. windows任务计划程序 坑

  6. javascript对象讲解

    js的数据类型 基本数据类型:string   undefined   null   boolean    number 引用数据类型:object 二者的区别: 基本数据类型就是简单的赋值,引用数据 ...

  7. 部署DNS从服务器

    修改主服务器中区域信息文件: # vi /etc/named.rfc1912.zones 检查配置文件是否有错误 # named-checkconf 重启named服务程序,让配置文件生效 #syst ...

  8. 微信公众平台测试帐号的注册与使用(自己的服务器<---->微信后台<---->测式公众号)

    打开注册的网址:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login 用手机微信扫描网页左边的二维码,然后在手机上确认即可: 至此 ...

  9. Java常用的加密解密类(对称加密类)

    Java常用的加密解密类 原文转载至:http://blog.csdn.net/wyc_cs/article/details/8793198 原创 2013年04月12日 14:33:35 1704 ...

  10. 如何在一个js文件中引入另外的js文件

    例如想要在a.js中引用b.js.c.js和d.js document.write("<script language='javascript' src='b.js'></ ...