准备工作:
下载spring,apache-cxf,soapUI
新建Web项目
接口
package com.gary.test.ws.service; import javax.jws.WebService; @WebService public interface GreetingService { public String greeting(String userName); }
实现
package com.gary.test.ws.service.impl; import java.util.Calendar; import javax.jws.WebService; import com.gary.test.ws.service.GreetingService; @WebService(endpointInterface = "com.gary.test.ws.service.GreetingService") public class GreetingServiceImpl implements GreetingService { public String greeting(String userName){ return "Hello " + userName + ", currentTime is " + Calendar.getInstance().getTime(); } }
、
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: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="greetingService" implementor="com.gary.test.ws.service.impl.GreetingServiceImpl" address="/GreetingService" /> </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>classpath:applicationContext.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> </web-app>
部署到tomcat,项目启动后可以看到
安装soapUI,打开soapUI,new soapUI Project,如下,WSDL写之前配置的地址http://gary-pc:8080/testWebService/GreetingService?wsdl ,OK
添加参数arg0的值,submit,可以看到右侧的返回结果
OK测试通过,成功返回正确结果
不用soapUI的话也可以直接写测试类
package com.gary.test.ws.test; import org.apache.cxf.jaxws.JaxWsProxyFactoryBean; import com.gary.test.ws.service.GreetingService; public class TestGreetingService { public static void main(String[] args) { //创建WebService客户端代理工厂 JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean(); //注册WebService接口 factory.setServiceClass(GreetingService.class); //设置WebService地址 factory.setAddress("http://gary-pc:8080/testWebService/GreetingService"); GreetingService greetingService = (GreetingService)factory.create(); System.out.println("invoke webservice..."); System.out.println("message context is:"+greetingService.greeting("gary")); } }
也可以使用spring集成的方式 客户端
<jaxws:client id="com.gary.test.ws.service.GreetingService" serviceClass="com.gary.test.ws.service.GreetingService" address="http://gary-pc:8080/testWebService/GreetingService?wsdl" />
相关推荐
Cxf集成Spring的WebService接口的配置文档
8. **集成测试**:利用Spring Test和CXF的模拟测试工具,可以方便地进行Web服务的单元测试和集成测试。 9. **性能优化**:可以通过调整CXF的配置,例如缓存策略、线程池大小等,优化Web服务的性能。 10. **监控与...
6. **集成Spring Boot**: 当前的Spring生态系统中,Spring Boot已经成为快速构建微服务的首选。通过Spring Boot,我们可以更简洁地配置和运行CXF服务,无需复杂的XML配置。 总的来说,结合CXF和Spring框架,...
3. 集成Spring:使用Spring的ApplicationContext加载配置文件,将CXF的bean加入到Spring的上下文中。 4. 测试:编写测试用例,验证服务端和客户端的正常交互。 六、注意事项 1. 异常处理:在服务端和客户端都要进行...
为了将CXF与Spring集成,你需要配置Spring上下文文件,声明CXF的Servlet或Jetty服务器,然后将你的服务bean定义为Spring组件。这样,Spring会负责服务的初始化和销毁,而CXF则负责服务的暴露和调用。在项目中,...
3. **Spring与CXF集成**:通过Spring的`<jaxws:endpoint>`或`<jaxrs:server>`标签,我们可以将CXF服务端点声明式地配置在Spring XML配置文件中,从而实现服务的发布。这种方式避免了手动编写CXF的配置文件,使得配置...
通过阅读和运行这些代码,你可以更深入地理解如何将CXF与Spring集成以构建Web服务。 总的来说,使用CXF和Spring构建Web服务涉及了Java编程、Web服务原理、Spring框架的使用、以及CXF的相关配置和工具。这是一个典型...
本教程将深入探讨如何在Spring环境中集成CXF以实现RESTful WebService接口。 首先,我们需要理解REST(Representational State Transfer)的概念。REST是一种软件架构风格,用于设计网络应用程序。它的核心思想是...
【描述】:“CXF与Spring发布WebService”意味着我们将利用CXF提供的Web服务功能,并通过Spring框架进行管理和集成。这种结合使得Web服务的创建、配置和管理变得更加简单和灵活,同时也能够利用Spring的容器管理特性...
集成Spring和CXF的主要目标是利用Spring的DI和配置管理能力,结合CXF的Web服务功能,构建出高效且易于维护的服务。下面我们将详细探讨这一过程: 1. **配置Spring容器**:首先,我们需要在Spring的配置文件中定义...
【描述】:“这个是cxf 集成spring 的webservice的例子 供大家参考” Apache CXF与Spring的集成使得开发和部署Web服务变得更加便捷。通过Spring,我们可以利用其依赖注入(DI)和面向切面编程(AOP)特性,更方便地...
总的来说,"cxf+spring的webservice实例"是一个实践性的教程,旨在帮助开发者理解如何在Spring环境中利用CXF快速构建和部署Web服务。通过这个实例,你可以掌握从创建服务到发布、测试的整个流程,进一步提升你的Java...
在本文中,我们将深入探讨如何使用Apache CXF 2与Spring 2.5框架来开发Web服务实例。Apache CXF是一个流行的开源项目,它提供了一种简单且强大的方式来实现和消费SOAP和RESTful Web服务。Spring框架则以其模块化、...
当我们谈论"CXF3.0.9+SPRING开发webservice例子"时,这意味着我们将探讨如何结合这两个强大的工具来创建和消费Web服务。 首先,让我们深入了解CXF。Apache CXF是基于Java的,它支持多种Web服务标准,如SOAP、...
Spring还与许多其他框架如CXF进行了很好的集成,可以方便地用于Web服务的实现。 在这个“cxf+spring实现webservice”的例子中,我们首先需要确保已经安装了Eclipse IDE,并且配置了Java和Maven环境。然后,我们需要...
将CXF与Spring集成,可以充分利用两者的优势,实现高效、灵活的RESTful服务。 本项目主要展示了如何使用CXF和Spring构建一个能够以JSON格式返回数据的RESTful WebService接口。JSON(JavaScript Object Notation)...
总之,CXF和Spring的结合为开发高质量的Web服务提供了一个强大且灵活的平台。这种集成不仅可以提升开发效率,还能确保服务的可扩展性和可维护性。通过熟悉和掌握这种结合,开发者能够更好地应对复杂的企业级Web服务...
总结来说,Apache CXF 2与Spring 2.5的集成使得Web服务的开发变得更加便捷和灵活。通过Spring的配置,我们可以方便地管理服务的生命周期,同时利用CXF的强大功能来处理各种Web服务协议。这不仅提高了开发效率,也...
在本文中,我们将深入探讨如何将Apache ...通过以上步骤,我们可以看到CXF 2.7与Spring 3的集成是如何简化Web服务开发的,同时也提高了代码的可维护性和可测试性。理解这些知识点对于开发基于Java的Web服务至关重要。
CXF集成了Spring框架,使得构建和管理Web服务变得更加简便和灵活。本篇将深入探讨CXF与Spring的集成,以及如何通过它们来发布一个WebSocket服务的代码实例。 首先,我们了解CXF的核心功能。CXF提供了SOAP和RESTful...