`
tv9
  • 浏览: 42821 次
最近访客 更多访客>>
社区版块
存档分类
最新评论

CXF使用备忘

阅读更多

在javaeye里参考大牛们的帖子去配置spring2.5+hibernate3.2+CXF2.1,最终解决了路径问题后,终于成功了!
CXF是Apache的一个重点项目,终于放出来了,因为它跟spring的结合很方便,于是就用一下,还是要自己动手一步步弄一下,才知道其配置上的一些小细节(如果用插件的话,就感觉不到它跟spring的关系和不知道它的很多细节,所以推荐不要用插件的好)。
在这里顺带提一下,spring2.5结合junit4.4可以很容易地运用annotation来进行testcase的编写,不过要注意的是eclipse3.3或者eclipose3.4,里头自带的junit4是junit4.3版本的,缺少需要的方法,所以要去下载最新的junit4.4版,然后替换掉eclipse插件里的junit.jar包。

  1. 准备依赖包,依赖包不用想那么多,我在这里是把握的项目包弄个截图,所以是很多的,重点是spring,hibernate,CXF*这些包。

  2. 在web.xml文件中添加以下servlet配置:
    <!----> <!--  CXF 配置  -->
        
    < 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 > /services/* </ url-pattern >
        
    </ servlet-mapping >

  3. 添加applicationContext-cxf.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://cxf.apache.org/jaxws http://cxf.apache.org/schemas/jaxws.xsd http://www.springframework.org/schema/beans  http://www.springframework.org/schema/beans/spring-beans-2.5.xsd"
        default-autowire
    ="byName"  default-lazy-init ="true" >
        
    < description > 基于Apache CXF的Web Service配置文件 </ description >
        
        
    < 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-javascript-client.xml" />
        
        
    < bean  id ="helloWorldImpl"  class ="com.lbg.ws.test.impl.HelloWorld" />
        
        
    < jaxws:endpoint  id ="helloWorld"  implementor ="#helloWorldImpl"
            address
    ="/HelloWorld" />
    </ beans >

  4. 建立webservice的接口与实现:
    <!----> package  com.lbg.ws.test;

    import  javax.jws.WebMethod;
    import  javax.jws.WebService;

    @WebService(name
    = " HelloWorld " )
    public   interface  IHelloWorld  {

        @WebMethod(operationName
    = " sayHello " )
        
    public  String sayHello();
    }

    <!----> package  com.lbg.ws.test.impl;

    import  javax.jws.WebService;

    import  com.lbg.ws.test.IHelloWorld;

    @WebService(endpointInterface
    = " com.lbg.ws.test.IHelloWorld " )
    public   class  HelloWorld  implements  IHelloWorld  {

        
    public  String sayHello()  {
            
    return   " HelloWorld! " ;
        }

    }
  5. 把项目部署到tomcat或其它j2ee容器上启动,成功信息如下:
    <!----> 2008 - 6 - 30   21 : 16 : 57  org.apache.cxf.service.factory.ReflectionServiceFactoryBean buildServiceFromClass
    信息: Creating Service {http://impl.test.ws.lbg.com/}HelloWorldService from class com.lbg.ws.test.IHelloWorld
    2008 - 6 - 30   21 : 16 : 57  org.apache.cxf.endpoint.ServerImpl initDestination
    信息: Setting the server's publish address to be /HelloWorld
    好了,那么样才能够看到wsdl文档呢?关键就在web.xml配置servlet那里,

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

这个mapping里的<url-pattern>就是你的所有webservice的访问路径了,而在applicationContext-cxf.xml中定义的服务RUL是"/HelloWorld",你的应用服务是这样:http://localhost:8080/testProject/,那么上面的webservice访问路径就是http://localhost:8080/testProject/services/HelloWorld?wsdl。

分享到:
评论
1 楼 qinglangee 2010-07-10  
时隔两年,这篇备忘帮了我

相关推荐

    CXF 使用实例集成

    通过这个集成实例,开发者可以获得关于CXF使用的基本知识,从而能够快速地创建和使用Web服务。同时,了解如何配置和扩展CXF以满足特定需求,例如安全性和文件操作,是提高Web服务开发效率的关键。

    CXF使用EndpointImpl发布WebService加入拦截器

    在Java世界中,Apache CXF是一个广泛使用的开源框架,它允许开发者创建和消费Web服务。在Web服务开发中,拦截器扮演着至关重要的角色,它们提供了在消息发送和接收过程中插入自定义逻辑的能力。本篇文章将深入探讨...

    cxf使用中编码问题

    "cxf使用中编码问题"这个主题聚焦在如何在CXF环境中解决与GBK等特定编码相关的困扰。 首先,我们需要理解编码的本质。在计算机系统中,字符编码是用来表示文本的一种方式,如ASCII、GBK、UTF-8等。GBK是中国大陆...

    CXF使用手册

    CXF使用手册详细介绍了Java环境下的WebService支持,重点讲解了如何利用Apache CXF技术实现WebService。CXF是合并了Objectweb Celtix和Codehaus XFire之后的产品,它为Java开发者提供了一种构建和开发WebService的...

    使用CXF和camel-cxf调用webservice

    本篇文章将详细介绍如何使用CXF和camel-cxf调用Web服务,以及这两个工具的核心功能和使用场景。 Apache CXF是一个全面的服务开发框架,它支持多种Web服务标准,如SOAP、WS-*协议栈、RESTful服务等。CXF提供了丰富的...

    cxf+spring使用经验

    【cxf+spring 使用经验】 Apache CXF 是一个开源的 Web 服务框架,它整合了 Celtix 和 XFire 两大项目的优势,提供了全面的 JAX-WS 支持,允许开发者通过 Code First 或 WSDL First 的方式来创建和消费 Web 服务。...

    cxf入门使用代码展示

    【CXF入门使用代码展示】 Apache CXF是一个开源的Java框架,主要用于构建和开发Web服务。它提供了多种方式来创建和消费Web服务,包括基于Java API for RESTful Web Services (JAX-RS) 和 Java API for XML Web ...

    CXF框架工具使用

    CXF框架是一个强大的开源工具,主要用于构建和实现Web服务。它是Apache软件基金会的一个项目,旨在提供一种灵活且可扩展的方式来创建、部署和管理基于SOAP(简单对象访问协议)和RESTful(表述性状态转移)的Web服务...

    使用cxf和spring开发基于https的webservice服务端以及客户端样例

    本示例将详细介绍如何使用Apache CXF和Spring框架来开发基于HTTPS的安全Web服务,包括服务端和客户端的实现。 Apache CXF是一个开源的Java框架,它支持创建和消费各种Web服务,包括SOAP和RESTful API。而Spring框架...

    实战Web Service —— 使用Apache CXF开发Web服务的教程

    **实战Web Service —— 使用Apache CXF开发Web服务的教程** Apache CXF是一个开源的Java框架,用于构建和部署Web服务。本教程将带你深入理解如何利用CXF来开发高效、灵活的Web服务。我们将从基础概念开始,逐步...

    CXF2.6.4配java1.6版完整包和使用说明

    这个"CXF2.6.4配java1.6版完整包和使用说明"是一个针对Java 1.6版本优化的CXF 2.6.4发行包,包含了所有必要的组件和文档,让你能够顺利地在Java 1.6环境下使用CXF进行服务开发。 CXF的核心功能包括: 1. **SOAP和...

    cxf2.5.9的使用示例

    【CXF 2.5.9 使用示例详解】 CXF 是一款开源的 Java 服务框架,它提供了创建和消费 Web 服务的能力。版本 2.5.9 是 CXF 的一个稳定版本,包含了丰富的功能和修复了许多已知的问题。在本教程中,我们将深入探讨如何...

    使用CXF开发RESTFul服务

    【标题】"使用CXF开发RESTFul服务"涉及到的核心技术是Apache CXF框架和RESTful API设计。Apache CXF是一个开源的Java框架,主要用于构建和消费Web服务,包括SOAP和RESTful服务。REST(Representational State ...

    cxf 3.1.1 jar包

    在开发过程中,了解CXF的组件结构和工作原理,以及如何配置和使用其提供的各种功能,对于高效地开发和维护Web服务至关重要。记得在使用第三方资源时,要确保jar包的来源可靠,避免引入潜在的安全风险。同时,保持...

    CXF视频:1、使用CXF实现简单的HelloWorld

    【标题】"CXF视频:1、使用CXF实现简单的HelloWorld",这是一段关于Apache CXF框架的初级教程,旨在引导初学者通过实际操作理解如何利用CXF创建一个基本的“HelloWorld”服务。Apache CXF是一个开源的Java框架,它...

    WebService CXF使用说明

    【WebService CXF 使用详解】 WebService CXF 是一个开源框架,用于构建和开发符合 WS-* 标准的 Web 服务。它提供了丰富的功能,包括支持多种协议和服务风格,以及与 Spring 框架的深度集成。CXF 允许开发者轻松地...

    cxf的jar包

    这个“cxf的jar包”可能包含CXF运行时所需的库文件,使得开发者能够在他们的项目中集成并使用CXF的功能。 在Web服务的世界里,CXF是一个关键的角色,因为它提供了以下核心功能: 1. **SOAP支持**:CXF允许开发者...

    webservice使用cxf的实例

    现在,我们详细探讨CXF使用的关键知识点: 1. **CXF简介**:CXF是一个开源的Java框架,它支持基于标准的Web服务,包括SOAP 1.1/1.2,RESTful HTTP,以及WS-Security等安全标准。它提供了从Java类直接生成WSDL文档的...

    使用CXF开发WebService简单实例

    本篇文章将深入探讨如何使用CXF来开发一个简单的“HelloWorld”Web服务实例。 首先,我们需要了解CXF的基本概念。CXF全称为CXF CXF (CXF on XFire),它整合了XFire和 Celtix两个项目,为开发者提供了一种灵活的方式...

Global site tag (gtag.js) - Google Analytics