通过apache-cxf发布webService项目(服务器与客户端)

来源:互联网 发布:淘宝上免运费怎么赚钱 编辑:程序博客网 时间:2024/06/05 07:42

由于项目需要,需要提前熟悉一下

1、怎么通过apache-cxf将webService作为服务端发布到服务器(与spring整合)

2、新建client客户端访问服务器。

首先,我这里有一个wsdl结尾的文件,通过soapui这个软件,可以将其转换成webService服务器端的java代码。

如果是你手写的服务端java代码,可以跳过第一步。

一、wsdl——>服务端java代码:

1.下载apache-cxf的jar包,在这里,我给大家一个传送门好了:apache-cxf官网下载传送门。

2.下载soapui软件:soapUI传送门

3.在soapUI的preferences——tools中配置下载的cxf路径,路径具体到bin目录

4.开始转换wsdl,这个一百度一大把,各位自己百度吧。

注意:转换的时候,尽量不要定位包,不然所以的java文件都会集中到一起。

           生成的java代码中,wsdlLocation等属性其实是可以去掉的,最后只剩一个webService属性就可以。


5.下面给大家介绍一下转出的java文件中各个的作用。


6.impl包下会有一个C结尾的java文件,经测试删掉没问题。

二、在Eclipse中将webService服务端发布到tomcat。

1.创建一个dynamic web project,并勾选web.xml。

2.创建包名,引入java文件。

包名建议遵循生成的文件结构来创建,以免再更改生成的java文件中的配置。

3.加入apache-cxf的jar包。

将下载的apache-cxf中lib目录下的jar包加入工程,注意需要build path。

这些jar包中包含了对spring的支持和cxf的支持

4.配置web.xml。

在web.xml文件中加入如下代码。



其中,<url-pattern>/webservice/*</url-pattern>说明对该路径拦截。

5.配置applicationContext.xml。

在src目录下创建applicationContext.xml,然后加入以下代码:


6.将项目放入tomcat中,运行,访问。

然后可以在了浏览器中输入如下路径访问:http//:ip地址/端口号/web.xml中servlet配置的拦截路径/adress+?wsdl

我的访问路径为(我的项目名是cxf-service):http://localhost:8080/cxf-service/webservice/collect?wsdl



三、使用JaxWsProxyFactoryBean创建客户端并访问webService服务器。

在该项目下,创建一个拥有main方法的类。


其中,ICollectAdapterService是接口的名字;

service.queryAdapterstatus(param)是该接口中的一个方法,这个方法在CollectAdapterServiceImpl中实现。

四、将服务端启动,然后使用客户端访问服务端

讲项目发布到tomcat并启动,待启动成功后,右键——run as client类,成功访问,接受并在控制台输出服务端该接口的返回值。

下面是我服务器端的接口实现:



至此,搭建全部结束。

如果有不懂,或是不理解的同学,可以私信我,或者是下方留言,我看到后会及时回复的。
虽然,,,我也是一个小白。





原创粉丝点击