`

spring cxf 开发webservice

 
阅读更多

CXF spring 集成

1 新建 web project , 并加入 a pache-cxf-2.0.7/lib 所有包 ,编写要发布的 web service 接口和实现 . 这一步,与前面一样。

import javax.jws.WebService;

@WebService 

public interface HelloWorld {  

     public String sayHello(String text);  

}

import javax.jws.WebService;  

@WebService(endpointInterface="test.HelloWorld")  

public class HelloWorldImpl implements HelloWorld {  

      public String sayHello(String text) {  

                  return "Hello" + text ;  

    }  

  } 

@WebService  注解表示是要发布的 web 服务

2. spring-cxf.xml 配置发布的 web service 

<? 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" />  

 

    < bean id = "hello" class = "test.HelloWorldImpl" />  

    < jaxws:endpoint id = "helloWorld" implementor = "#hello" 

        address = "/HelloWorld" />  

   </ beans >

注意: < jaxws:endpoint id = "helloWorld" implementor = "#hello" 

        address = "/HelloWorld" />  

id :指在 spring 配置的 bean ID.

Implementor: 指明具体的实现类 .

Address: 指明这个 web service 的相对地址,

3.  配置 web.xml 文件:

<? xml version = "1.0" encoding = "UTF-8" ?>  

< web-app version = "2.4" xmlns = "http://java.sun.com/xml/ns/j2ee" 

    xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 

    xsi:schemaLocation = "http://java.sun.com/xml/ns/j2ee   

    http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd" >  

    < context-param >  

        < param-name > contextConfigLocation </ param-name >  

        < param-value > classpath:spring-cxf.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 > /ws/* </ url-pattern >  

    </ servlet-mapping >  

</ web-app >  

4 部署到 tomcat 服务器 , 输入 :http://localhost:8080/<web-app-name>/ HelloWorld?wsdl, 将显示这个 web service wsdl.

注意:如果web.xml 配置 < servlet-name > CXFServlet </ servlet-name >  

        < url-pattern > /ws/* </ url-pattern >  

则访问地址为: http://localhost:8080/<web-app-name>/ws/ HelloWorld?wsdl

5. 下面就开始创建一个客户端程序,访问这个web service, 同样新建 java project , 并加入 a pache-cxf-2.0.7/lib 所有包 . 创建与具体webservice 技术无关的业务接口HelloWorld.java

public interface HelloWorld {  

     public String sayHello(String text);  

}

6. 配置 spring-client.xml

< 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/schema/jaxws.xsd" >

 

    < bean id = "client" class = "test.HelloWorld"

      factory-bean = "clientFactory" factory-method = "create" />

   

    < bean id = "clientFactory" class = "org.apache.cxf.jaxws.JaxWsProxyFactoryBean" >

      < property name = "serviceClass" value = "test.HelloWorld" />

      < property name = "address" value = "http://localhost:9000/helloWorld" />

<!-- 这个地方的地址一定要注意,正确的 -->

    </ bean >

     

</ beans >

7 .测试:

import org.springframework.context.ApplicationContext;

import org.springframework.context.support.ClassPathXmlApplicationContext;

 

import test.HelloWorld;

 

public class Test {  

     

    public static void main(String[] args) {  

 

        ApplicationContext ctx = new ClassPathXmlApplicationContext(  

                "spring-client.xml" );  

        HelloWorld client = (HelloWorld) ctx.getBean( "client" );  

        String result = client.sayHello( " 你好 !" );  

        System. out .println(result);  

    }  

}

分享到:
评论

相关推荐

    spring+cxf 开发webservice

    【标题】"Spring+CXF 开发Web Service" 在Java世界中,开发Web服务的一个常见选择是使用Spring框架结合Apache CXF。Spring作为一个强大的轻量级框架,提供了丰富的功能,包括依赖注入、AOP(面向切面编程)以及企业...

    Webservice笔记含使用cxf和jaxws两种方式开发webservice【源代码+笔记】

    第一天: 什么是webservice? 从案例(便民查询网站)分析如何实现?...CXF开发webservice: CXF入门程序 Spring+cxf整合(重点) CXF发布rest的webservice。(重点) 综合案例: 实现便民查询网站

    spring+CXF实现WebService(http+https)

    Spring框架是Java企业级应用开发的首选,而CXF是一个强大的开源服务框架,支持创建和消费Web服务。本教程将深入探讨如何利用Spring和CXF来实现基于HTTP和HTTPS的Web服务,并且将涉及到HTTPS的证书配置。 1. **...

    运用spring和CXF开发webservice

    通过"使用CXF开发WebService.doc"文档,你将能更深入地了解如何具体操作这些步骤,包括详细的XML配置和代码示例。而"cxf-ws"可能是一个包含CXF相关配置和样例代码的文件夹,帮助你更好地理解和实践。 总结来说,...

    spring整合CXF开发webService接口所需的全部jar包

    在开发基于Java的Web服务时,Spring和Apache CXF是一个常见的组合。Spring作为一个灵活的框架,可以轻松地与CXF集成,提供强大的服务治理和依赖注入功能。Apache CXF则是一个开源的服务框架,用于创建和消费Web服务...

    Spring+CXF 发布WebService服务

    在IT行业中,Spring框架和Apache CXF是两个非常重要的组件,它们在开发Web服务时扮演着关键角色。本文将深入探讨如何使用Spring和CXF来发布WebService服务。 首先,Spring是一个开源的Java平台,它提供了全面的编程...

    Spring+CXF开发WebService

    使用 CXF 做 webservice 简单例子 Apache CXF 是一个开放源代码框架,提供了用于方便地构建和开发 Web 服务的可靠基础架构。它允许创建高性能和可扩展的服务,您可以将这样的服务部署在 Tomcat 和基于 Spring 的轻...

    Spring+CXF开发WebService源代码

    本教程将基于"Spring+CXF开发WebService源代码"的主题,深入探讨如何利用这两者创建和消费Web服务。 首先,Spring是一个开源的应用框架,提供了一个全面的编程和配置模型,适用于Java应用程序。它为开发企业级应用...

    Spring + cxf = webservice 完整实例源码免费下载

    Spring + cxf = webservice 完整实例源码免费下载 完全免费。此资源仅为文档提供。 版权为百度文档 "Spring + cxf = webservice 完整实例源码免费下载" 所有。

    spring整合CXF开发webService所需jar包

    Spring是一个全面的后端开发框架,提供了依赖注入、AOP(面向切面编程)等功能,而CXF则是一个用于构建和消费Web服务的开源框架。当我们将两者结合时,可以利用Spring的管理能力来轻松地集成和部署CXF Web服务。下面...

    cxf开发webservice所用jar包

    这个标题“cxf开发webservice所用jar包”表明我们正在讨论一组CXF框架所需的JAR文件,这些文件对于利用CXF开发基于Web服务的应用程序至关重要。在描述中提到“cxf-2.4.1整合spring3.0所用jar包”,这暗示了我们使用...

    cxf开发webservice客户端和服务器端文档

    Code-First方法是JAVA平台下的WebService开发的常见方法。 CXF 开发实践 CXF的安装方法是将其包文件复制到目标系统的CLASSPATH文件夹中。CXF依赖于许多Java类库,如Spring、WSDL4J等。开发服务时,需要设计好业务...

    Apache CXF2+Spring2.5轻松实现WebService

    本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 首先,让我们理解这两个组件的基本概念。Apache CXF是一个全面的服务框架,它支持多种Web服务规范,如SOAP、RESTful、WS-*等。它提供了...

    使用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开发webservice服务端

    ### CXF 开发 WebService 服务端详解 #### 一、引言 随着企业级应用对服务化的不断追求,Web Service 成为了实现不同系统间通信的重要手段之一。Apache CXF 是一个高性能、易于使用的框架,它支持多种协议,如SOAP...

    使用Spring+CXF开发WebService.doc

    在使用Spring和Apache CXF开发Web服务时,我们可以利用CXF提供的强大功能,与Spring框架进行无缝集成。CXF允许开发者通过注解和Spring配置文件来轻松地暴露和消费Web服务。以下是关于如何使用这些技术的一些关键知识...

    mybatis+spring+cxf Webservice框架

    【标题】"mybatis+spring+cxf Webservice框架"是一个集成性的开发框架,它结合了三个主流的技术组件:MyBatis、Spring和Apache CXF,用于构建高效、灵活且易于维护的Web服务。MyBatis是一个优秀的持久层框架,Spring...

    CXF2+Spring2.5开发WebService实例

    在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...

    cxf开发webservice与spring整合所需jar包

    将CXF与Spring整合,可以实现更高效、灵活的服务开发。下面我们将详细探讨在CXF开发Web服务并与Spring整合时,这些特定jar包的作用。 1. **cxf-2.7.1.jar**:这是CXF的核心库,包含了处理Web服务请求和响应的基本...

    使用CXF开发WebService

    在开发Web服务时,Apache CXF是一个非常强大的框架,它提供了与Spring的紧密集成,使得开发者可以方便地通过注解和Spring配置来暴露和消费Web服务。本篇内容将深入探讨如何使用CXF和Spring来创建和使用Web服务。 ...

Global site tag (gtag.js) - Google Analytics