基于Spring和CXF的webservice开发环境搭建

简介:

使用CXF发布webservice服务时,规范的做法是先书写一个接口,用以声明服务类型。

基于Spring和CXF开发web service的框架搭建

一、创建web项目

Eclipse中新建一个dynamic webproject,命名为:CXFTest

二、导入需要的jar包

把下载的CXF项目的解压缩文件中lib文件夹下的所有jar包拷贝到WebContent->WEB-INF->lib文件夹下

三、创建服务接口

在Java resource->src目录下新建package包:com.cxfspring.service,并在该包中新建服务接口Ipeople,Ipeople接口代码如下:

package com.cxfspring.service;
 
import javax.jws.WebMethod;
import javax.jws.WebService;
 
@WebService
public interface IPeople
{
    @WebMethod
    public String sayHello(String name);
}


四、创建服务实现类

在Java resource->src目录下新建package包:com.cxfspring.serviceImpl,并在该包中新建服务实现类Student,Student实现Ipeople接口,Student类代码如下:

package com.cxfspring.serviceImpl;
 
import javax.jws.WebMethod;
import javax.jws.WebService;
 
import com.cxfspring.service.IPeople;
 
 
@WebService
public class Student implements IPeople
{
 
         @WebMethod
         @Override
         publicString sayHello(String name)
         {
                   //TODO Auto-generated method stub
                   System.out.println("Hello:"+name);
                  return"Hello:"+name+"nice to meet you!";
         }
 
}


五、配置web.xml文件

在WebContent->WEB-INF目录下新建web.xml,配置代码如下:

<?xml version="1.0"encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
  <display-name>ServiceManagement</display-name>
 
  <!-- 加载Spring容器 -->
 
  <listener>
    <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
  </listener>
 
  <!-- 配置CXF的核心servlet -->
  <context-param>
<param-name>contextConfigLocation</param-name>
<param-value>/WEB-INF/applicationContext.xml</param-value>
</context-param>
  <servlet>
    <servlet-name>cxf</servlet-name>
    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
    <!-- <init-param>
        配置Spring的配置文件
        <param-name>config-location</param-name>
        <param-value>/WEB-INF/applicationContext.xml</param-value>
    </init-param>-->
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>cxf</servlet-name>
    <url-pattern>/*</url-pattern>
  </servlet-mapping>
 
  <welcome-file-list>
 
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


六、配置Spring配置文件

在WebContent->WEB-INF目录下新建applicationContext.xml,配置代码如下:

<?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:tx="http://www.springframework.org/schema/tx"
xmlns:jaxws="http://cxf.apache.org/jaxws"
xmlns:jaxrs="http://cxf.apache.org/jaxrs"
xmlns:jms="http://cxf.apache.org/transport/jms"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:aop="http://www.springframework.org/schema/aop"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/tx/spring-aop.xsd
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/context/spring-context.xsd
http://cxf.apache.org/jaxws
http://cxf.apache.org/schemas/jaxws.xsd
http://cxf.apache.org/jaxrs
http://cxf.apache.org/schemas/jaxrs.xsd
http://cxf.apache.org/transport/jms
http://cxf.apache.org/schemas/configuration/jms">
 
<!-- 导入CXF为扩展Spring提供的几个XML配置文件 -->
<import resource="classpath:META-INF/cxf/cxf.xml"/>
<import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/>
<import resource="classpath:META-INF/cxf/cxf-extension-object-binding.xml"/>
 
<!-- 利用endpoint发布服务 -->
<jaxws:endpoint id="HelloService"implementor="com.cxfspring.serviceImpl.Student" address="/HelloService"/>
 
</beans>


七、验证服务是否能发布

把工程部署到tomcat上,并启动tomcat,在浏览器中输入http://localhost:8090/CXFTest/HelloService?wsdl 。如果浏览器能显示该服务的WSDL文档,则说明该服务能成功发布。


最后把本文搭建的框架共享出来,http://download.csdn.net/detail/longshengguoji/8270873

相关文章
|
10月前
phpstorm插件应用:Test RESTful WEB Service 控制台接口调试工具
phpstorm插件应用:Test RESTful WEB Service 控制台接口调试工具
121 0
|
2月前
|
存储 缓存 算法
关于 Service Worker 和 Web 应用对应关系的讨论
关于 Service Worker 和 Web 应用对应关系的讨论
16 0
|
3月前
|
Java API Apache
Apache CXF生成WebService的客户端
Apache CXF生成WebService的客户端
|
7月前
|
JSON 安全 API
使用 ABAP sproxy 事务码生成的 Proxy 消费 Web Service
使用 ABAP sproxy 事务码生成的 Proxy 消费 Web Service
59 0
|
3月前
|
XML 网络架构 数据格式
Ruby 教程 之 Ruby Web Service 应用 - SOAP4R 2
Ruby Web Service 应用 - SOAP4R
24 5
|
3月前
|
XML Linux 网络架构
Ruby 教程 之 Ruby Web Service 应用 - SOAP4R 1
Ruby Web Service 应用 - SOAP4R
23 3
|
9月前
|
XML Java API
Java Web Service Get请求使用指南
Java Web Service Get请求使用指南 在当今互联网时代,Web Service已经成为了现代软件开发中不可或缺的一部分。而Java作为一种广泛使用的编程语言,自然也提供了丰富的工具和库来支持Web Service的开发。本文将为大家介绍如何使用Java编程语言进行Web Service的Get请求。
90 0
|
5月前
|
Java 数据库连接 Apache
SpringBoot整合CXF实现WebService
SpringBoot整合CXF实现WebService
130 0
|
5月前
|
XML Java 应用服务中间件
WebService - Axis2与Spring整合并发布多个service(同样使用services.xml)
WebService - Axis2与Spring整合并发布多个service(同样使用services.xml)
91 0
|
5月前
|
Java 应用服务中间件 Spring
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
WebService - Axis2使用services.xml进行开发server与client(未与Spring整合)
51 0