【参考:http://cxf.apache.org/docs/jax-ws-configuration.html】
【参考:http://cxf.apache.org/docs/writing-a-service-with-spring.html】
【参考:http://cxf.apache.org/docs/simple-frontend-configuration.html】
在上节里,我们介绍了JAX-WS的创建Service和调用Service的方式。这节介绍另种实现方式:Simple。
除了支持通过读取jax-ws的annotation来生成webservice,CXF也支持直接从一个类对象生成webservice服务,这就是这里要介绍的simple frontend方式。
一、Service接口定义
public interface OrderProcess { String processOrder(Order order); }
没有任何jax-ws相关的annotation
二、Server的发布
ServerFactoryBean bean = new ServerFactoryBean(); bean.setAddress("http://localhost:8181/cxf/simple"); bean.setServiceBean(new OrderProcessImpl()); bean.setServiceClass(OrderProcess.class); bean.create();
或者是Spring方式:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <simple:server id="orderProcess" serviceClass="com.liulutu.liugang.cxf.simple.OrderProcess" address="http://localhost:8181/cxf/simple"> <simple:serviceBean> <bean class="com.liulutu.liugang.cxf.simple.OrderProcessImpl" /> </simple:serviceBean> </simple:server> </beans>
三、Client端的实现
ClientProxyFactoryBean client = new ClientProxyFactoryBean(); client.setAddress("http://localhost:8181/cxf/simple"); client.setServiceClass(OrderProcess.class); OrderProcess orderProcess = (OrderProcess)client.create(); String s = orderProcess.processOrder(<order>); System.out.println(s);
或者是Spring的方式:
<beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:simple="http://cxf.apache.org/simple" xmlns:soap="http://cxf.apache.org/bindings/soap" xsi:schemaLocation=" http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd http://cxf.apache.org/bindings/soap http://cxf.apache.org/schemas/configuration/soap.xsd http://cxf.apache.org/simple http://cxf.apache.org/schemas/simple.xsd"> <simple:client id="orderClient" serviceClass="com.liulutu.liugang.cxf.simple.OrderProcess" address="http://localhost:8181/cxf/simple"> </simple:client> </beans>
然后在java代码里:
ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("/com/liulutu/liugang/cxf/simple/client.xml"); OrderProcess bean = context.getBean("orderClient", OrderProcess.class); String processOrder = bean.processOrder(<order>); System.out.println(processOrder);
相关推荐
在我们的实例中,"CXF契约优先开发方式之客户端实现(client)"是基于CXF的客户端实现,它利用maven作为构建工具。Maven具有强大的插件系统,其中就包括CXF的插件,能够自动根据WSDL生成客户端的代理类。以下是如何...
Apache CXF是一个开源项目,提供了一套完整的工具和服务接口,用于实现SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)服务。在描述中提到的场景,CXF 2.1.3客户端被用来调用...
在CXF中,Simple FrontEnd Project (SFP) 方式是一种简化Web服务发布的模式,它允许开发者无需在业务接口上添加特定的协议注解,如`@WebService`和`@WebMethod`,从而使得业务逻辑与Web服务技术实现分离。...
与JAX-WS类似,你也可以定义服务接口和实现,但CXF允许直接使用普通的Java类作为服务端点,而不需要接口。 在服务端,使用CXF,你可以这样做: ```java @WebService public class HelloWorldImpl { @WebMethod ...
CXF提供了多种方式来实现Web服务,包括JAX-WS(Java API for XML Web Services)和JAX-RS(Java API for RESTful Web Services)。在这个示例中,我们将关注的是CXF用于实现基于SOAP协议的Web服务的部分,也就是通过...
在"WebService_CXF_Spring_Tomcat_Client_1"中,可能包含了CXF生成的客户端代码,用于与发布的服务进行交互。 8. **SOAP协议**:SOAP(Simple Object Access Protocol)是一种基于XML的协议,用于在分布式环境中...
CXF支持多种协议和标准,如WS-I Basic Profile、WS-Security等,为开发者提供了一种灵活、高效的方式来实现SOA。 2. **版本3.2.13**:此版本是Apache CXF的一个稳定发行版,包含了多个bug修复、性能改进以及对新...
压缩包中的 "server" 文件可能包含了服务器端的代码,如 CXF 服务实现、数据库配置、Maven/Gradle 构建文件等。而 "client" 文件则可能包含客户端应用的代码,如 HTML、CSS、JavaScript 文件以及调用 Web 服务的...
**CXF实现Web服务** Apache CXF 是一个开源框架,用于构建和开发服务导向架构(SOA)的应用程序。它支持多种Web服务标准,包括SOAP、RESTful API、WS-* 规范等,使得开发者能够方便地创建和消费Web服务。在本教程中...
CXF提供了一种简单的方式来构建SOAP(Simple Object Access Protocol)服务器和客户端,使得开发者可以专注于业务逻辑,而不是底层通信细节。在本教程中,我们将深入探讨如何使用CXF在JBoss和Tomcat这两种流行的Java...
`CxfServer`可能包含了服务端的实现,通过定义一个Java接口并使用JAX-WS注解来标记,然后CXF会自动生成对应的WSDL(Web Service Definition Language)文件,这个文件描述了服务的接口。 2. **CXF客户端**:`Cxf...
《xfire 1.2.6 server与cxf 1.2.6 client:构建高效服务交互》 在IT行业中,服务化已经成为企业系统架构的重要组成部分。xfire和CXF是两个广泛使用的Java Web服务框架,它们允许开发人员创建、发布和消费Web服务。...
XFire是Apache CXF项目的一个前身,它提供了简单、高效的方式来创建和消费Web服务。XFire利用Java注解来简化服务的配置,使得开发者能够快速地创建服务端点和服务客户端。 三、实现Web服务接口 1. 定义服务接口:...
xfire是一个古老的开源项目,它提供了在Java中实现SOAP(Simple Object Access Protocol)服务的能力,可以方便地帮助Android应用程序与SQL Server数据库进行通信。这篇内容将深入探讨如何使用xfire在Android上操作...
在这个示例中,"testClient"可能包含了客户端的代码,而"cfx-new"可能包含了与Apache CXF相关的配置文件或者服务端启动脚本。通过运行这些文件,你可以本地测试Web服务的客户端和服务端功能。 总结: Java中的Web...
Web服务通常基于SOAP(Simple Object Access Protocol)协议,通过WSDL(Web Services Description Language)文件进行定义,它描述了服务的接口、消息格式和调用方式。客户端可以通过查找WSDL来理解和调用服务。 ...
Web服务接口实现类是开发分布式系统时常用的一种技术,它允许不同系统间的应用程序通过网络进行通信。在本项目中,我们将深入探讨Web Service接口及其Java中的实现类,以理解其工作原理、创建过程以及如何在实际开发...
【WebService(一):JDK WEB服务API实现】 在IT行业中,WebService是一种基于开放标准的互联网应用程序接口(API)设计模式,它允许不同系统之间进行数据交换和互操作。本篇将详细介绍如何使用JDK内置的API来创建...
Apache CXF是一个开源的Java框架,用于构建和开发SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)Web服务。CXF不仅支持WS-*(如WS-Security, WS-ReliableMessaging等)规范,还...
在本案例中,文件`ws_client03`可能包含了客户端调用WebService的代码示例,而`ws_server`则可能是WebService的服务端实现。通常,服务器端代码会定义服务接口和实现,然后通过一个容器(如Tomcat)部署,使其可以...