书接上文,下面看看CXF怎样和spring集成。
1.创建HelloWorld 接口类
- package com.googlecode.garbagecan.cxfstudy.helloworld;
- import javax.jws.WebMethod;
- import javax.jws.WebParam;
- import javax.jws.WebResult;
- import javax.jws.WebService;
- @WebService
- public interface HelloWorld {
- @WebMethod
- @WebResult String sayHi(@WebParam String text);
- }
2.创建HelloWorld实现类
- package com.googlecode.garbagecan.cxfstudy.helloworld;
- public class HelloWorldImpl implements HelloWorld {
- public String sayHi(String name) {
- String msg = "Hello " + name + "!";
- return msg;
- }
- }
3.修改web.xml文件
- <!DOCTYPE web-app PUBLIC
- "-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN"
- "http://java.sun.com/dtd/web-app_2_3.dtd" >
- <web-app>
- <display-name>cxfstudy</display-name>
- <servlet>
- <servlet-name>cxf</servlet-name>
- <servlet-class>org.apache.cxf.transport.servlet.CXFServlet</servlet-class>
- <load-on-startup>1</load-on-startup>
- </servlet>
- <servlet-mapping>
- <servlet-name>cxf</servlet-name>
- <url-pattern>/ws/*</url-pattern>
- </servlet-mapping>
- <listener>
- <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
- </listener>
- <context-param>
- <param-name>contextConfigLocation</param-name>
- <param-value>classpath*:**/spring.xml</param-value>
- </context-param>
- </web-app>
4.创建spring配置文件并放在classpath路径下
- <?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="helloworld" implementor="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorldImpl" address="/HelloWorld" />
- <!-- For client test -->
- <jaxws:client id="helloworldClient" address="http://localhost:9000/ws/HelloWorld" serviceClass="com.googlecode.garbagecan.cxfstudy.helloworld.HelloWorld" />
- </beans>
5.创建测试类
- package com.googlecode.garbagecan.cxfstudy.helloworld;
- import org.springframework.context.ApplicationContext;
- import org.springframework.context.support.ClassPathXmlApplicationContext;
- public class SpringClient {
- public static void main(String[] args) {
- ApplicationContext context = new ClassPathXmlApplicationContext("spring.xml");
- HelloWorld helloworld = (HelloWorld)context.getBean("helloworldClient");
- System.out.println(helloworld.sayHi("kongxx"));
- }
- }
6.测试
6.1 首先启动tomcat或者使用maven的jetty,并访问http://localhost:9000/ws/HelloWorld?wsdl来验证web service已经启动并且生效;
6.2 然后运行测试类来验证web service。
相关推荐
【标题】:“实战Web Service —— 使用Apache CXF开发Web服务的教程” 【内容详解】: Web服务是一种基于开放标准的、平台无关的接口技术,它允许不同系统间的应用程序进行交互。Apache CXF是一个开源的Java框架,...
CXF提供了多种部署选项,如Spring容器、Servlet容器(如Tomcat)、独立应用或Web服务引擎。这使得开发者可以根据项目需求选择最合适的部署策略。 1.3.2 支持多种编程语言 CXF不仅仅局限于Java,还支持其他语言,如...
在本文中,我们将深入探讨如何使用Apache CXF与Spring框架集成来开发Web Services。CXF是一个流行的开源项目,它提供了一种灵活的方式来实现和消费Web Services。Spring则是一个全面的企业级应用开发框架,两者结合...
在本项目中,"spring集成cxf客户端和服务器端demo(含自定义拦截器)"是一个实战案例,展示了如何在Spring框架下与Apache CXF服务进行整合,实现客户端和服务端的交互,并利用拦截器来增强功能。以下是这个项目涉及的...
总结来说,"cxf+spring webservice server demo"项目提供了一个实战的平台,演示了如何利用CXF和Spring的强大力量构建高效、可扩展的Web服务,并且具备了与独立客户端交互的能力。对于学习和理解这两个框架的集成...
【标题】:“CXF + Spring 实战教程” 【描述】:本教程主要讲解如何结合Apache CXF和Spring框架来开发Web服务。Apache CXF是一个开源的、强大的服务框架,它支持多种Web服务标准,如SOAP、RESTful API等。而Spring...
6. **安全性集成**:CXF与Spring Security的整合可以实现Web服务的安全认证和授权,提供安全的通信环境。 7. **异常处理**:结合Spring的AOP,可以自定义全局的异常处理策略,提高服务的健壮性。 8. **实战案例**...
在本教程中,我们将深入探讨如何使用Apache CXF与Spring框架进行集成,通过官方实例学习这两者的结合使用。Apache CXF是一个开源服务框架,它允许开发者创建和消费各种Web服务,而Spring则是一个广泛使用的Java企业...
标题中的“spring2.5+ibatis3+web service cxf”揭示了这是一个关于整合Spring 2.5、iBATIS 3和Apache CXF Web服务的示例项目。这个项目是在MyEclipse环境中构建的,它是一个强大的Java集成开发环境,特别适合企业级...
1. **Spring与Web服务集成**:Spring框架提供了多种集成Web服务的方式,包括使用Spring-WS、Apache CXF和曾经的XFire。XFire作为早期的选项,允许开发者轻松地在Spring应用中创建和消费Web服务,通过Aegis绑定来映射...
在CXF中集成Spring,可以通过Spring的IoC(Inversion of Control)容器管理Web服务的生命周期,实现服务的声明式配置,从而降低代码的复杂性。 4. **发布Web服务**:在CXF中,通过Spring配置文件定义服务接口和服务...
【CXF开发的服务端及客户端】是一个基于Apache CXF和Spring框架构建的项目,主要功能是实现文件的上传和下载,以及支持视频音频的传输。这个项目为学习者提供了实战经验,帮助理解如何在实际应用中运用CXF作为服务端...
《xFire深度解析与实战指南》 xFire,作为一个历史悠久的Web服务框架,它在早期的Web服务开发中扮演了重要角色。本文将深入探讨xFire的使用方法、实例演示,以及如何将其与Spring框架集成,帮助开发者更好地理解和...
《xfire-spring:xfire1.2.6与spring3.2.5构建Web服务实战解析》 在IT行业中,Web服务作为一种重要的组件间通信方式,被广泛应用于分布式系统和企业级应用中。xfire-spring项目是将XFire(一款基于Java的Web服务...
在SpringBoot项目中,Web服务通常通过Spring Web Services(Spring-WS)或Apache CXF等库实现。Spring-WS是一种基于XML的Web服务框架,它允许开发者创建和消费SOAP服务。SpringBoot可以轻松地与Spring-WS集成,通过...
16. **EMC 社区 - Apache CXF 实战** - [https://community.emc.com/thread/197851?start=0&tstart=0](https://community.emc.com/thread/197851?start=0&tstart=0) - **知识点**:Apache CXF是一个开源框架,用于...