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
会生成客户端代码,如下:
然后就可以进行测试了,测试类如下:
这里也用到了一个日志出拦截器,会打印出客户端发出的信息,这里返回了一个自定义的对象。
测试的结果如下: