webservice cxf与servlet集成

来源:互联网 发布:乐知少儿英语网 编辑:程序博客网 时间:2024/06/06 20:46


一、  建立web project

新建一个web project,取名cxf_bigdata

目录结构如下:


添加所需Jar包:

 

二、  继承类,重写方法

cxf 与servlet集成需要继承CXFNonSpringServlet类,重写loadBus(ServletConfig sc)方法,如下图所示:


三、  配置web.xml


四、  创建pojo类BigData


五、  创建接口BigDataService


六、  创建接口实现类BigDataServiceImpl


endpointInterface为接口路径,serviceName可以随便设置,是WSDL的显示service名字。(WSDL是WebServiceDocument Location的简称,即WebService文档位置的意思)


serviceName可以随意更改




如若不写serviceName,默认为实现类+service

 

@WebService的serviceName可以用来指定service的名称,默认情况下如果Service是通过Endpoint.publish()方法发布的则serviceName为实现类的简单名称+Service(如BigDataServiceImplService),如果是通过JaxWsServerFactoryBean的create方法发布的则为接口的简单名称+Service(如BigDataServiceService)。name属性可以用来指定service对应的portName,默认情况下如果Service是通过Endpoint.publish()方法发布的则portName为实现类的简单名称+Port(如BigDataServiceImplPort),如果是通过JaxWsServerFactoryBean的create方法发布的则为接口的简单名称+Port(如BigDataServicePort)。

七、  发布接口

在WebServiceServlet类的loadBus方法中编写发布方法,有两种方式发布接口——第一种使用jax-ws方式,第二种使用cxf方式,如图所示:

 

这里设置的address即为访问浏览器输入的接口名字。

八、  浏览器访问接口

在浏览器输入http://localhost:8080/cxf_bigdata/webservice/bigDataService?wsdl,出现如下图所示内容,表示发布成功:


九、  生成客户端

新建一个web project,取名bigdata_client,

1.      选择myeclipse状态栏的new web service图标,如图所示:


2.      点击旁边倒三角,选择new web service client,出现如下图界面:


选择刚才新建项目名称,选择JAX-WS,点击next

3.      将在浏览器输入的wsdl地址复制到下图的wdsl url处,点击next,进行校验:


4.      校验通过,点击finish。


5.      看一下现在的项目目录结构


这些都是自动生成的,

6.      新建测试类Test


右击run as——》Javaapplication,运行成功。

 

 

0 0
原创粉丝点击