Apache CXF 则是由 Celtix 和 XFire 项目整合而生,并且刚刚发布了 2.0.2 的最新版本,不过仍是 Apache 的一个孵化项目。
一、与Axis2的不同之处
1、Apache CXF 支持 WS-Addressing、WS-Policy、WS-RM、WS-Security和WS-I BasicProfile
2、Axis2 支持 WS-Addressing、WS-RM、WS-Security和WS-I BasicProfile,WS-Policy将在新版本里得到支持
3、Apache CXF 是根据Spring哲学来进行编写的,即可以无缝地与Spring进行整合
4、Axis2 不是
5、Axis2 支持更多的 data bindings,包括 XMLBeans、JiBX、JaxMe 和 JaxBRI,以及它原生的 data binding(ADB)。
6、Apache CXF 目前仅支持 JAXB 和 Aegis,并且默认是 JAXB 2.0,与 XFire 默认是支持 Aegis 不同,XMLBeans、JiBX 和 Castor 将在 CXF 2.1 版本中得到支持,目前版本是 2.0.2
7、Axis2 支持多种语言,它有 C/C++ 版本。
8、Apache CXF 提供方便的Spring整合方法,可以通过注解、Spring标签式配置来暴露Web Services和消费Web Services
二、A simple JAX-WS service
原文见http://cwiki.apache.org/CXF20DOC/a-simple-jax-ws-service.html
a). 设置构建路径,将下列jar包放到项目中
the CXF distribution
commons-logging-1.1.jar
geronimo-activation_1.1_spec-1.0-M1.jar (or Sun's Activation jar)
geronimo-annotation_1.0_spec-1.1.jar (JSR 250)
geronimo-javamail_1.4_spec-1.0-M1.jar (or Sun's JavaMail jar)
geronimo-servlet_2.5_spec-1.1-M1.jar (or Sun's Servlet jar)
geronimo-ws-metadata_2.0_spec-1.1.1.jar (JSR 181)
jaxb-api-2.0.jar
jaxb-impl-2.0.5.jar
jaxws-api-2.0.jar
jetty-6.1.5.jar
jetty-util-6.1.5.jar
neethi-2.0.jar
saaj-api-1.3.jar
saaj-impl-1.3.jar
stax-api-1.0.1.jar
wsdl4j-1.6.1.jar
wstx-asl-3.2.1.jar
XmlSchema-1.2.jar
xml-resolver-1.2.jar
Spring jars
aopalliance-1.0.jar
spring-core-2.0.4.jar
spring-beans-2.0.4.jar
spring-context-2.0.4.jar
spring-web-2.0.4.jar
CXF jar
cxf-2.0-incubator.jar
b). 编写Service代码
接口HelloService.java
package demo.cxf.server;
import javax.jws.WebParam;
import javax.jws.WebService;
@WebService
public interface HelloService {
public String sayHello(@WebParam(name="text")String text);
}
实现类HelloServiceImpl
package demo.cxf.server;
import javax.jws.WebService;
@WebService(endpointInterface="demo.cxf.server.HelloService",serviceName="helloService")
public class HelloServiceImpl implements HelloService {
public String sayHello(String text) {
return "Hello ".concat(text);
}
}
c). 发布服务
System.out.println("Starting Server");
HelloServiceImpl impl = new HelloServiceImpl();
String addr = "http://localhost:80/helloService";
Endpoint.publish(addr,impl);
d). 客户端调用
JaxWsProxyFactoryBean factory = new JaxWsProxyFactoryBean();
factory.getInInterceptors().add(new LoggingInInterceptor());
factory.getOutInterceptors().add(new LoggingOutInterceptor());
factory.setServiceClass(HelloService.class);
factory.setAddress("http://localhost:9000/helloService");
HelloService service = (HelloService)factory.create();
String reply = service.sayHello("cxf.");
System.out.println(reply);
System.exit(0);
分享到:
相关推荐
【描述】:本压缩包“webservice的cxf框架拦截器demo.rar”提供了一个关于如何在Apache CXF框架下实现Web服务拦截器的实际操作示例。CXF是一个开源的服务框架,它允许开发者创建和部署多种类型的Web服务,包括SOAP和...
本篇将深入探讨CXF框架中的拦截器(Interceptor)及其在"webservice的cxf框架拦截器demo"中的应用。 拦截器在CXF中是一种强大的工具,它允许开发者在消息发送或接收的过程中插入自定义的行为。这在处理认证、日志...
总结来说,Apache CXF框架为开发高效、灵活的Web服务提供了强大的工具。通过利用其对各种数据类型的支持,简化开发流程,以及利用拦截器进行高级定制,开发者可以创建出符合业务需求的安全、可扩展的Web服务。在...
Apache CXF 是一个开源的 Services 框架,CXF 帮助您利用 Frontend 编程 API 来构建和开发 Services ,像 JAX-WS 。这些 Services 可以支持多种协议,比如:SOAP、XML/HTTP、RESTful HTTP 或者 CORBA ,并且可以在...
Apache CXF是一个开源的Web服务框架,由Apache软件基金会开发并维护,专注于提供高质量的SOAP和RESTful服务。它的名称CXF来源于两个前身项目:XFire和Celtix的组合,这两个项目在2006年合并成为Apache CXF。Apache ...
最新版的cxf框架集成了spring包,下载解押后打开eclipse工程右击->build path->add librarys->user library->user librarys->new->自定义包名->选择刚才lib文件路径->ok
SpringBoot+Mybatis+CXF框架,实现Restful api与 WebService api接口的大实验 本实验的主要目标是使用SpringBoot、Mybatis和CXF框架来实现Restful API和WebService API接口的大实验。下面是实验的详细介绍: 标题...
CXF框架是Apache组织开发的一款开源的Web服务框架,它支持SOAP、RESTful等多种Web服务标准,同时也提供了客户端和服务端的实现。在使用CXF框架进行Web服务客户端调用时,需要依赖一系列的JAR包来确保功能的正常运行...
【WebService_CXF_x509】是一个关于使用Apache CXF框架实现基于X.509数字证书的安全Web服务的主题。Apache CXF是一个流行的开源Java框架,用于构建和部署Web服务。X.509是一种标准格式,用于表示公钥基础设施(PKI)...
【标题】"webservice-cxf-spring-jar.zip" 是一个包含了使用Apache CXF与Spring框架集成开发Web服务的Java库集合。这个压缩包提供了一整套必要的JAR文件,以便于开发者在他们的项目中快速搭建和运行基于CXF的Web服务...
Apache CXF是一个开源的服务框架,它允许开发人员创建和消费各种Web服务。结合Spring框架,可以轻松地在Java应用程序中实现Web服务。本教程将深入探讨如何利用Apache CXF 2与Spring 2.5来构建和使用WebService。 ...
综上所述,WebService-CXF实用手册学习大全主要讲述了WebService的基础知识、Java中的相关规范、CXF框架的应用以及在开发过程中会遇到的一些高级特性和最佳实践。这些知识点对于理解和实施基于Java的WebService开发...
4. **cxf-common-utilities-2.5.10.jar**: CXF通用工具包,提供了在CXF框架中广泛使用的各种实用程序类,如XML解析、类型转换等。 5. **cxf-rt-transports-http-2.7.12.jar**: HTTP传输模块,负责处理HTTP/S协议的...
1. **CXF框架介绍**:CXF,全称为"Code first eXtended Framework",最初由XFire项目发展而来,后与Apache Axiom和Neethi等项目合并。CXF提供了一种从代码直接生成Web服务的方式,支持JAX-WS和JAX-RS标准,使得开发...
C#动态调用CXF WEBSERVICE框架共通类。
这个"webservice_cxf Demo"项目是一个基于 Apache CXF 的 Web 服务示例,旨在帮助开发者理解如何使用 CXF 来创建、部署和消费 Web 服务。在这个示例中,我们将探讨 CXF 的核心概念、工作流程以及如何通过它来实现...
CXF框架是Apache组织开发的一款开源服务开发框架,主要用于构建和部署Web服务。它支持多种Web服务标准,如SOAP、RESTful、WS-*等,使得开发者可以方便地创建和消费Web服务。本教程将深入探讨如何使用CXF框架发布Web...
Apache CXF是一个开放源码的Web服务框架,提供了一个易于使用,用于开发Web Services标准为基础的编程模型。本书主要介绍Apache CXF在构建SOA架构各个方面的应用说明和编程案例。覆盖以下内容:基于JAX-WS规范和CXF...
Apache CXF 是一个开源的 Web 服务框架,用于构建和部署 SOAP 和 RESTful Web 服务。版本 2.3.5 是该框架的一个历史版本,它在当时提供了丰富的特性和功能,帮助开发者创建高效、灵活的网络应用。下面将详细阐述 ...