web.xml:
<?xml version="1.0" encoding="ISO-8859-1"?> <!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> <context-param> <param-name>contextConfigLocation</param-name> <param-value>WEB-INF/beans.xml</param-value> </context-param> <listener> <listener-class> org.springframework.web.context.ContextLoaderListener </listener-class> </listener> <servlet> <servlet-name>CXFServlet</servlet-name> <display-name>CXF Servlet</display-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>
服务端入参POJO:
package demo.order; public class Order { private String customerID; private String itemID; private int qty; private double price; // Contructor public Order() { } public String getCustomerID() { return customerID; } public void setCustomerID(String customerID) { this.customerID = customerID; } public String getItemID() { return itemID; } public void setItemID(String itemID) { this.itemID = itemID; } public int getQty() { return qty; } public void setQty(int qty) { this.qty = qty; } public double getPrice() { return price; } public void setPrice(double price) { this.price = price; } }
SEI:
package demo.order; import javax.jws.WebService; @WebService public interface OrderProcess { String processOrder(Order order); }
实现类:
package demo.order; import javax.jws.WebService; @WebService public class OrderProcessImpl implements OrderProcess { public String processOrder(Order order) { String orderID = validate(order); return orderID; } /** * Validates the order and returns the order ID **/ private String validate(Order order) { String custID = order.getCustomerID(); String itemID = order.getItemID(); int qty = order.getQty(); double price = order.getPrice(); if (custID != null && itemID != null && !custID.equals("") && !itemID.equals("") && qty > 0 && price > 0.0) { return "ORD1234"; } return null; } }
通过spring发布服务配置:
<?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="orderProcess" implementor="demo.order.OrderProcessImpl" address="/OrderProcess" /> </beans>
客户端:
package demo.order.client; import demo.order.OrderProcess; import demo.order.Order; import org.springframework.context.support.ClassPathXmlApplicationContext; public final class Client { public Client() { } public static void main(String args[]) throws Exception { ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext(new String[] {"demo/order/client/client-beans.xml"}); OrderProcess client = (OrderProcess) context.getBean("orderClient"); Order order = new Order(); order.setCustomerID("C001"); order.setItemID("I001"); order.setQty(100); order.setPrice(200.00); String orderID = client.processOrder(order); String message = (orderID == null) ? "Order not approved" : "Order approved; order ID is " + orderID; System.out.println(message); } }
客户端spring配置:
<?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"> <jaxws:client id="orderClient" serviceClass="demo.order.OrderProcess" address="http://localhost:8080/orderapp/OrderProcess" > </jaxws:client> </beans>
相关推荐
本实例将详细阐述如何利用CXF和Spring来构建Web服务的客户端和服务端。 一、CXF简介 CXF是一个开源的Java框架,专门用于构建和消费Web服务。它支持SOAP、RESTful等多种服务模型,并且可以方便地与Spring框架集成,...
ibatis+spring+cxf+mysql搭建webservice的客户端,文章地址在http://blog.csdn.net/cenyi2013/article/details/17315755. 服务端源码的下载地址在http://download.csdn.net/detail/cenyi2012/6712729
在这个"**cxf+spring+client**"的主题中,我们将深入探讨CXF与Spring框架结合创建客户端服务的细节,以及如何利用Spring MVC来增强应用程序的交互性。 首先,让我们关注CXF。CXF允许开发者使用Java编程语言来定义和...
4. **部署和发布**:服务端项目通过Spring的ApplicationContext加载配置,并启动CXF服务器,从而对外发布服务。这可以通过调用`org.apache.cxf.frontend.ServerFactoryBean`的相关方法来完成。 【CXFSpringClient】...
此外,CXF还支持JAX-WS和JAX-RS标准,提供了丰富的客户端和服务端API。 【Spring】在该组合中扮演着容器的角色,负责管理组件的生命周期和依赖关系。Spring3.0引入了许多增强功能,如AOP(面向切面编程)改进、支持...
【标题】"cxf-spring 服务端and客户端"揭示了这个项目是关于Apache CXF框架与Spring框架的集成,用于构建服务端和客户端应用程序。Apache CXF是一个开源的Java框架,它允许开发者创建和消费Web服务,而Spring框架则...
【标题】"CXF+Spring+Tomcat发布WebService"涉及的是使用Apache CXF框架与Spring框架结合,在Tomcat服务器上部署和消费Web服务的过程。这是一个常见的企业级应用开发场景,特别是对于实现基于SOAP协议的Web服务。...
总结起来,这个“cxf简单实例 服务端与客户端”是一个完整的示例,它演示了如何使用CXF创建一个Web服务,包括定义接口、实现服务、发布服务,以及生成和使用客户端代理进行调用。通过这个实例,开发者可以深入理解...
总之,使用CXF客户端调用Axis服务端涉及多个步骤,包括生成客户端代码、配置客户端、创建服务代理以及进行实际调用。理解这些步骤并正确实现它们是成功通信的关键。在实际开发过程中,可能会遇到各种问题,需要耐心...
通过这个整合项目,开发者可以学习到如何利用Spring 4进行服务端控制流的管理,使用CXF 3发布和消费Web服务,以及Maven 3如何帮助管理整个项目的构建流程。这将为开发者提供一个实际的平台,以实践和掌握这些技术的...
【标题】"cxf_spring 服务端和客户端demo"主要涵盖了使用Apache CXF与Spring框架结合实现Web服务(Web Service)的示例。Apache CXF是一个开源的Java框架,它用于构建和开发服务端和客户端的Web服务,而Spring框架则...
本示例将详细介绍如何使用Apache CXF和Spring框架来开发基于HTTPS的安全Web服务,包括服务端和客户端的实现。 Apache CXF是一个开源的Java框架,它支持创建和消费各种Web服务,包括SOAP和RESTful API。而Spring框架...
在结合 Spring 框架使用时,CXF 可以方便地与 Spring 集成,实现服务的发布和调用。Spring 可以管理 CXF 组件的生命周期,提供事务、安全等服务,并通过配置简化服务的实现。 **一、搭建开发环境** 1. **选择依赖...
总结来说,"cxf+spring webservice server demo"项目提供了一个实战的平台,演示了如何利用CXF和Spring的强大力量构建高效、可扩展的Web服务,并且具备了与独立客户端交互的能力。对于学习和理解这两个框架的集成...
6. **测试和调试**:使用CXF提供的工具,如CXF wsdl2java生成客户端代码,或者利用JUnit进行服务端和客户端的测试。 7. **日志和异常处理**:整合过程中,合理配置日志框架(如Log4j或SLF4J)和异常处理机制,可以...
本项目是关于"Spring+CXF+MyBatis"的整合代码实现,旨在提供一个可直接运行的服务端解决方案。接下来,我们将深入探讨这三个核心组件及其整合过程中的关键知识点。 **Spring框架** Spring是Java领域的一个重量级...
标题“简单cxf+spring构建webservice服务”指的是使用Apache CXF框架与Spring框架结合来创建Web服务。Apache CXF是一个开源的Java框架,它允许开发者创建和消费各种Web服务,包括SOAP和RESTful风格。Spring框架则为...
本篇文章将详细探讨如何结合Spring与CXF 2.5版本来实现服务端和客户端的开发,以及相关的源码分析和工具使用。 首先,让我们了解Spring与CXF的集成基础。Spring框架提供了一种优雅的方式来管理应用程序的组件,如...
【描述】"cxf-2.4.1+axis-1.4,整合spring3.0所用jar包"说明了这个压缩包的目的,即为开发者提供了一套完整的环境,用于在Spring 3.0框架下整合Apache CXF(一个开源的服务端和客户端Web服务实现)和Axis(一个用于...
在提供的压缩包文件中,"CXFServer"可能包含了服务端的相关代码,包括Spring配置文件、服务接口和实现类。而"CXFClient"则可能包含了客户端代码,用于调用服务端的Web服务。通过分析这些代码,可以更深入地了解"CXF+...