Spring整合CXF配置WebService服务发布
2017-06-06 08:57
756 查看
本节将会提到如何在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正常
二、编写接口类和实现类
接口类和实现类的编写在上一节已经有代码展示,这边直接上代码:
三、XML配置文件
至于Spring框架的配置文件如何配置之前的章节有讲过就不多说,这边主要讲CXF如何配置,并跟Spring结合。我新建了一个xml文件spring-cxf.xml,用于cxf的配置,代码如下:
至此,所有的步骤都已经完成,接着将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,前一篇文章有例子,这边不多讲,参考上一篇文章。
一、工具包和开发环境
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,前一篇文章有例子,这边不多讲,参考上一篇文章。
相关文章推荐
- spring boot整合cxf发布webservice服务和spring boot整合cxf客户端调用webservice服务
- SpringBoot整合cxf发布WebService服务和客户端调用WebService服务
- webservice--CXF+Spring整合发布REST的服务
- spring boot整合cxf发布webservice服务和cxf客户端调用
- 8、CXF与Spring整合发布http rest 风格的WebService服务
- (四)CXF整合Spring发布WebService服务
- cxfspring boot整合cxf发布webservice服务和cxf客户端调用
- WebService(CXF发布WebService服务与Spring整合)(2)
- spring boot整合cxf发布webservice服务和spring boot整合cxf客户端调用webservice服务
- Spring整合CXF之发布WebService服务
- Maven+SpringMVC+CXF整合实现webservice服务的发布与调用
- webservice--CXF+Spring整合发布SOAP协议的服务
- spring boot整合cxf发布webservice服务和cxf客户端调用
- Spring整合CXF之发布WebService服务
- WebService的CXF框架与Spring的整合发布服务入门
- Spring整合CXF,发布RSETful 风格-配置WebService
- Spring整合CXF,发布RSETful 风格WebService
- (五)CXF整合Spring发布RESTful风格的Web服务
- Spring整合CXF发布WebService
- Spring整合CXF发布WebService