Spring整合CXF配置WebService服务发布

本节将会提到如何在Spring框架的基础上,整合CXF工具包,在配置文件中对WebService服务进行配置。这个在实际Java Web项目中也会经常用到,比如和其他系统之间进行数据交互和方法调用等。话不多说,接下来介绍如何整合Spring和CXF。


一、工具包和开发环境

1.Spring4.x工具包、CXF3.x工具包等相关包(可以直接官网下载)

2.我使用的是JDK1.8(没测试过其他的版本,不过至少1.6以上吧)

3.Tomcat8.0

注:Spring4.x和CXF2.x一起使用jar包会冲突报错,选用CXF3.x正常


二、编写接口类和实现类

接口类和实现类的编写在上一节已经有代码展示,这边直接上代码:

package com.wuyj.ssmtest.webservice.server;

import javax.jws.WebService;

@WebService
public interface WebServiceTest {
	    String sayHi(String name);  
}

package com.wuyj.ssmtest.webservice.server;

import java.util.Date;

import javax.jws.WebService;

@WebService(endpointInterface="com.wuyj.ssmtest.webservice.server.WebServiceTest",serviceName="HelloWorldWs")//指定webservice所实现的接口以及服务名称
public class WebServiceTestImpl implements WebServiceTest{

	@Override
	public String sayHi(String name) {
		return name+"您好!现在时间是:"+new Date(); 
	}
}

三、XML配置文件

至于Spring框架的配置文件如何配置之前的章节有讲过就不多说,这边主要讲CXF如何配置,并跟Spring结合。我新建了一个xml文件spring-cxf.xml,用于cxf的配置,代码如下:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  xmlns:jaxws="http://cxf.apache.org/jaxws"
	xsi:schemaLocation="http://www.springframework.org/schema/beans  
                        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
                        http://cxf.apache.org/jaxws 
                        http://cxf.apache.org/schemas/jaxws.xsd">
    
  <!-- address暴露地址,implementor对应 服务实现类 -->
  <jaxws:endpoint id="helloWorld" implementor="com.wuyj.ssmtest.webservice.server.WebServiceTestImpl" address="/HelloWorld" />
</beans>
配置完成后,在web.xml文件中将spring-cxf.xml添加到<context-param>中:

<context-param>  
     <param-name>contextConfigLocation</param-name> 
     <param-value>classpath*:spring-mybatis.xml,classpath*:spring-cxf.xml</param-value>  
</context-param>
并在web.xml配置cxf的servlet :
<servlet>  
    <servlet-name>CXFServlet</servlet-name>  
    <servlet-class>  
         org.apache.cxf.transport.servlet.CXFServlet  
    </servlet-class>  
    <load-on-startup>1</load-on-startup>  
</servlet>  

<servlet-mapping>  
     <servlet-name>CXFServlet</servlet-name>  
     <url-pattern>/*</url-pattern>  
</servlet-mapping>

至此,所有的步骤都已经完成,接着将web项目发布到Tomcat服务器,在浏览器地址输入http://127.0.0.1:8081/SSMTest/HelloWorld?wsdl,显示WSDL文档内容则表示成功。

注:该地址根据自己在http://127.0.0.1:8081/SSMTest对应web项目,/HelloWorld对应的是web.xml中cxf servlet-mapping配置/cxf-spring中address的配置。


四、客户端调用Web Service服务

新建Java Web项目后,可以根据wsimport命令或者直接用eclipse在该Java Web项目下建立Web Service Client,前一篇文章有例子,这边不多讲,参考上一篇文章




  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值