您的位置:首页 > 其它

使用cxf技术开发webService接口

2017-07-31 09:58 155 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  webService