`
zhangzhennan
  • 浏览: 9722 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

简单cxf+spring构建webservice服务

阅读更多
  cxf的作用,我就不在这里讲述了,因为网上比我讲的好的多的多的,忽忽!

  这篇文章主要是给刚入门cxf的童鞋们一个例子。
  我用的jar包是:spring 3.1+ cxf 2.6
  首先我们来编写服务端:
  step1:Myeclipse 创建web project(project Name: HelloCXF)
  实现一个服务:
  类Student充当Model:
 
   @XmlType(name="StudentInfo")
@XmlAccessorType(XmlAccessType.FIELD)
public class Student implements Serializable{

	private static final long serialVersionUID = 6841706329341519463L;
	
	private String id;
	private String name;
	private Integer age;
	private String addr;
	
	public String getId() {
		return id;
	}
	public void setId(String id) {
		this.id = id;
	}
	public String getName() {
		return name;
	}
	public void setName(String name) {
		this.name = name;
	}
	public Integer getAge() {
		return age;
	}
	public void setAge(Integer age) {
		this.age = age;
	}
	public String getAddr() {
		return addr;
	}
	public void setAddr(String addr) {
		this.addr = addr;
	}
	public static long getSerialVersionUID() {
		return serialVersionUID;
	}
}
  


定义服务接口:
  
     @WebService
public interface IStudentService {
	public void saveStu(@WebParam(name="StudentInfo") Student student,@WebParam(name="saveFlag")boolean flag);
	public void updateStu(@WebParam(name="StuInfo")String info);
	public void deleteStu(@WebParam(name="id")String id);
}
   


服务接口实现类:
  
    @WebService
public class StudentServiceImpl implements IStudentService{
	
	public void deleteStu(String id) {
		System.out.println("delete Student Id="+id);
	}

	public void saveStu(Student student, boolean flag) {
		System.out.println("save Student !");
	}

	public void updateStu(String info) {
		System.out.println("Update Student Infor!");
	}
}
   


  现在服务都写好了,就剩下配置文件了:
  配置cxf配置文件:bean.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:jaxws="http://cxf.apache.org/jaxws"  
	xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd   
	http://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd">  
<import resource="classpath:META-INF/cxf/cxf.xml" />  
<import resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />  
<import resource="classpath:META-INF/cxf/cxf-servlet.xml" />  
<jaxws:endpoint id="stuService" implementor="com.zzn.serviceImpl.StudentServiceImpl"  address="/stuService" />  
</beans>
  


配置web.xml

  <?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.5" 
	xmlns="http://java.sun.com/xml/ns/javaee" 
	xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
	xsi:schemaLocation="http://java.sun.com/xml/ns/javaee 
	http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd">
  <context-param>
  	<param-name>contextConfigLocation</param-name>
  	<param-value>
  		WEB-INF/bean.xml
  	</param-value>
  </context-param>
  
  <listener>
  	<listener-class>
  		org.springframework.web.context.ContextLoaderListener
  	</listener-class>
  </listener>
  
  <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>
  
  <welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
  </welcome-file-list>
</web-app>


ok现在可以测试下服务cxf成功没有访问:
http://localhost:8080/HelloCXF/stuService?wsdl

step2:编写客户端程序:
利用cxf的工具wsdl2java生成服务端代码,以便客户端使用:
C:\Users\zzn>wsdl2java -frontend jaxws21 -d e:\ -p com.zzn.service http://localh
ost:8080/HelloCXF/service?wsdl


wsdl2java -frontend的参数作用是为了生成的代码兼容java6,不过不利用这个参数生成的代码会报错(java6的情况下), -d是制定生成代码的路径,-p生成代码的包

在使用这个命令的时候最好要配置环境变量
CXF_HOME=G:\学习\java\webservice\apache-cxf-2.6.0\apache-cxf-2.6.0
PATH中增加:%CXF_HOME%/bin;
CLASSPATH中增加:%CXF_HOME%/lib;

创建java客户端项目(HelloCXFClient)
将上面自动生成的代码放入这个项目。
编写配置文件bean.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:jaxws="http://cxf.apache.org/jaxws"  
		xsi:schemaLocation="http://www.springframework.org/schema/beans   
		http://www.springframework.org/schema/beans/spring-beans-2.0.xsd  
		http://cxf.apache.org/jaxws   
		http://cxf.apache.org/schemas/jaxws.xsd">  
	<jaxws:client id="service"  
    address="http://localhost:8080/HelloCXF/stuService"  
    serviceClass="com.zzn.service.IStudentService" />  
  </beans> 




编写客户端代码:
public class TestClient {
	public static void main(String[] args) {
		ApplicationContext context = new ClassPathXmlApplicationContext("bean.xml");
		
		IStudentService service = (IStudentService)context.getBean("service");
		
		StudentInfo studentInfo = new StudentInfo();
		studentInfo.setAddr("China");
		studentInfo.setAge(20);
		studentInfo.setId("sd2011022");
		studentInfo.setName("zhangzhennan");
		
		service.saveStu(studentInfo, true);
		service.deleteStu("sd2011022");
	}
}


运行成功!
源代码在附件中,如大家有疑问可以提出!
 
 
分享到:
评论

相关推荐

    cxf+spring实现webservice

    在IT行业中,开发Web服务是常见的需求,而CXF和Spring框架的结合为开发者提供了一种高效、灵活的方式来实现Web Service。本篇将深入探讨如何利用CXF和Spring来创建、部署和消费Web Service。 CXF,全称CXF Commons ...

    使用Eclipse+Maven+Spring+CXF构建的WebService服务

    Web项目中基于Maven与Spring整合的WebService之cxf的实现⬇️ 详情请参考如下链接: https://locqi.github.io/locqi.com/2018/09/05/Eclipse+Maven+Spring+CXF-create-WebService/

    cxf+spring的webservice实例

    总的来说,"cxf+spring的webservice实例"是一个实践性的教程,旨在帮助开发者理解如何在Spring环境中利用CXF快速构建和部署Web服务。通过这个实例,你可以掌握从创建服务到发布、测试的整个流程,进一步提升你的Java...

    cxf+spring发布webservice和restservice

    本项目“cxf+spring发布webservice和restservice”专注于利用Apache CXF框架与Spring框架结合,实现这两种服务的发布。Apache CXF是一个开源的、功能丰富的服务栈,它使得开发者能够轻松地构建和部署SOAP和RESTful ...

    cxf+spring=webservice CXF 应用开发

    标题 "cxf+spring=webservice CXF 应用开发" 暗示了我们将讨论如何结合Apache CXF和Spring框架来创建Web服务。Apache CXF是一个开源的Java框架,主要用于构建和部署SOAP和RESTful Web服务。Spring框架则是一个广泛...

    cxf+spring webservice demo client

    Apache CXF是一个开源的Java框架,它为构建和消费Web服务提供了强大的支持,而Spring框架则是一个广泛使用的应用开发框架,它简化了Java应用的配置和管理。 【描述】:“这个是cxf 集成spring 的webservice的例子 ...

    cxf+Spring实现webservice工程

    Apache CXF是一个强大的开源框架,它提供了多种方式来构建和部署Web服务,而Spring则以其模块化、易用性和丰富的功能闻名,是Java开发中的常用框架。 首先,让我们深入了解Apache CXF。CXF允许开发者使用Java编程...

    cxf+spring实现webservice例子

    总的来说,这个例子展示了如何利用CXF和Spring的强大功能创建一个简单的Web服务。在实际开发中,你可以根据需求扩展服务功能,实现更复杂的业务逻辑,同时享受到这两个框架带来的便利性和灵活性。

    CXF+Spring+Tomcat发布WebService

    【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...

    Spring+CXF+tomcat开发webservice

    在Web服务环境中,Tomcat作为服务器,承载CXF和Spring构建的服务端应用。 **服务端**:在"testwebseviceserver"目录下,包含了服务端的代码和配置。服务端通常定义了Web服务的接口和实现,通过CXF提供的注解或者XML...

    cxf+spring开发webservice客户端与服务端实例

    本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介 CXF是一个开源的Java框架,专门用于构建和消费Web服务。它支持SOAP、RESTful等多种服务模型,并且可以方便地与Spring框架集成,...

    cxf+spring webservice server demo

    【标题】"cxf+spring webservice server demo"是一个基于Apache CXF和Spring框架构建的Web服务服务器端示例项目。这个项目展示了如何将CXF与Spring集成,以创建、部署和运行一个高效的Web服务。 【描述】指出,由于...

    CXF2.1.3+spring3.0+struts2.3.4

    【标签】"CXF+spring WebService CXF"强调了这些组件的集成,特别是CXF作为Web服务的主要提供者,以及与Spring的紧密配合。CXF不仅可以用作服务提供者,还可以作为客户端来消费其他服务,这在Spring的管理下变得更加...

    CXF+Spring+Hibernate实现WebService

    在IT行业中,构建Web服务是常见的任务之一,而CXF、Spring和Hibernate是Java领域内常用的三大框架,它们各自在不同的层面上发挥着关键作用。本项目通过整合这三者来实现一个基于SOAP协议的WebService,以提供数据...

    cxf+spring webService实例

    CXF和Spring是两个非常重要的Java框架,它们可以结合使用来构建高效的Web服务。在这个"CXF+Spring WebService实例"中,我们将深入探讨如何利用这两个工具来创建、发布和消费Web服务。 CXF全称为CXF CXF (CXF XFire ...

    xfire+spring+maven构建webservice服务器和客户端

    通过这个教程,开发者能够掌握如何使用XFire和Spring构建Web服务,以及如何利用Maven进行项目管理。虽然XFire现在已经过时,但这个过程可以帮助理解现代Web服务框架如Apache CXF的工作原理,同时加深对Spring和Maven...

    CXF3.0.9+SPRING开发webservice例子

    当我们谈论"CXF3.0.9+SPRING开发webservice例子"时,这意味着我们将探讨如何结合这两个强大的工具来创建和消费Web服务。 首先,让我们深入了解CXF。Apache CXF是基于Java的,它支持多种Web服务标准,如SOAP、...

    cxf+spring+tomcat

    【标题】"cxf+spring+tomcat"的组合是一个常见的Web服务开发环境,它将Apache CXF(一个用于构建和消费Web服务的开源框架)与Spring框架(一个广泛使用的Java企业级应用开发框架)以及Tomcat(一个流行的轻量级Java...

    cxf+spring+tomat开发webservice所需jar包

    1. **CXF**:CXF(Code-first eXtended Framework)是一个开源的服务框架,用于构建和部署Web服务。CXF支持两种主要的Web服务标准:SOAP(简单对象访问协议)和RESTful(Representational State Transfer)。CXF-...

Global site tag (gtag.js) - Google Analytics