1、 配置cxf的环境变量
CXF_HOME=(cxf在本地计算机的绝对路径)
在PATH变量中加入:%CXF_HOME%/bin
在CLASSPATH中加入:.;%CXF_HOME%\lib\cxf-manifest.jar;./build/classes
2、 给对应的WS起名字(服务提供段—服务调用端—服务名称)
3、 在(接口开发规范.rar)中找到对应业务属于的类型,比如是查询类 那就找查询分页对应的wsdl文件进行更改
4、 首先把文件改名,然后用打开,ctrl+H批量将之前的文件名替换为自己服务的名称
5、 Wsdl中昨晚替换后可能会出现报错,说节点没有定义,这时候需要对照xsd中reques和response的名称在wsdl中的名称是不是一一对应,更改后批量保存
6、 下面截图中的是入参部分,可以在对应的字段中填写ws中相应的入参
7、这里面是页面即将要显示的字段,以及返回值,是和数据库中的类型一一对应的,多个表中的数据可以都放到这里面定义
7、 写好这个wsdl和xsd后批量保存,在这三个文件所在的目录的地址栏 直接输入cmd
8、 输入如下命令,这时候会生成对应的java代码
这段命令中,-p是打包 后面是打包的路径和名称
-imp是生成实现类,这个是可以生成也可以自己来写
IP_PHONE_CRM_InHspRecordQuerySrv 这个就是服务名,根据自己的服务名来自己替换成自己的
wsdl2java -p com.tianjian.cxf.IP_PHONE_CRM_InHspRecordQuerySrv -impl -encoding utf-8 IP_PHONE-CRM_InHspRecordQuerySrv.wsdl
9、 在myeclipse对应的包下将生成的java代码copy进去,注意copy进去的service会报错,不用理会直接删除就行,这个不会影响最终的结果
10、 将生成的wsdl,xsd等三个文件拷贝到工程中对应的目录下,盘锦的是拷贝到web-inf
中的cxf文件夹下,最后每一个服务都单独建立一个文件夹,分类好管理
11、 实现类中记得要配置好wsdl的地址:
12、 书写实现类的位置(在这个方法中进行书写):
13、 数据的返回:
把所有查询到的数据都放到下面这个response中最后return 给方法调用者
14、 数据库查询到的date类型需要进行类型转换
15、 写好后通过进行测试
16、 启动服务后浏览器中输入(以tomcate为例子)
http://localhost:8080:工程名/services(这个具体的参数,要看cxf配置)
就会列出所有的可以被调用的ws地址
在soapUI中选择
在方框中填入wsdl地址 就会自动生成并填写上面的那个框
确定 点击启动 填入相应的入参后查询数据,能看到数据 就表示写的是成功的
zai