This example will lead you through creating your first service with Spring. You'll learn how to:
* Set up your build for CXF
* Writing a simple JAX-WS service 【设计与开发 JAX-WS 2.0 Web 服务】
* Set up the HTTP transport
具体参考 http://cxf.apache.org/docs/writing-a-service-with-spring.html
可以采用以下两种方法之一开发 Web 服务:
* 契约优先:从 WSDL 契约着手,生成 Java 类来实现服务。
* 代码优先:从 Java 类着手,使用 Annotation 来生成 WSDL 文件和 Java 接口。
[Developing a Service-Java First Development]
JAX-WS2.0 入门 (JAX-WS : Java API for XML Web Services)
接口定义:
1.@WebService(name = "UserService",targetNamespace = Constants.WS_NAMESPACE)
2. public interface UserWebService {
3. @WebResult(name = "user")
4. public UserDTO getUser(@WebParam(name = "userId") Integer userId);
5.}
* @WebService 必须,(name="UserService")可选,配置Service的名称,默认为类名。targetNamespace可选,默认为 http:// package的倒序,可在一个自己的Constants里定义统一的namespace. 如http://www.iteye.com
* 默认接口的所有方法均输出为WebService。
* @WebResult 可选,配置方法的返回值在WSDL的名称,CXF默认为result。
* @WebParam 可选,配置参数在WSDL的名称,CX比较笨F默认为arg0,arg1....
* @WebMethod 可选,有一个方法有此注释,则其他无注释的方法非WebService。
接口实现:
1.@WebService(endpointInterface = "com.javaeye.test.ws.user.UserWebService",targetNamespace = Constants.WS_NAMESPACE)
2.public class UserWebServiceImp
* @WebService(endpointInterface="") 必须,指定实现的接口。
* 在ServiceImpl中,最好命名@ServiceName 和 @PortName,否则默认以此类名来命名Service,如UserWebServiceImp,比较难看。
小结:
接口与实现类都需要@WebService(targetNamespace = Constants.WS_NAMESPACE),接口还需要属性name,实现需要属性endpointInterface。
CXF不会自动反射方法的参数名,每个方法的参数都需要重新标注。
JAXB2.0入门 (JAXB : Java Architecture for XML Binding)
1.@XmlType(name = "User")
2.public class UserDTO {
3.}
* JAXB的智能化较高,基本上不需要手工映射。
* 默认的@XmlAccessorType(XmlAccessType.PUBLIC_MEMBER )根据公共getter/setter与公共属性反射
(XmlAccessType.PROPERTY根据getter/setter反射,XmlAccessType.FIELD 根据成员变量反射)
* 如果有需要注释@XMLElement,@XMLAttribute,需配合XmlAccessorType定义,默认的PUBLIC_MEMBER,需要在getter/setter上定义,如果要写在成员变量上定义,则XmlAccessType改为FIELD。
* 用@XmlType定义 DTO名,否则名称默认小写。@XmlType(name = "User") 指定WSDL上的类型名称。
* @XmlTransient 可以注释某个字段,取消该字段的反射。
其他:
JAX-RPC 2.0 renamed to JAX-WS 2.0
jnn 写道
JAX-WS2.0 (JSR 224 )是Sun新的web services协议栈,是一个完全基于标准的实现。在binding层,使用的是the Java Architecture for XML Binding (JAXB, JSR 222 ),在parsing层,使用的是the Streaming API for XML (StAX, JSR 173 ),同时它还完全支持schema规范。
引自:JAX-WS
【转载地址】
http://alimama.iteye.com/blog/841896
【总结】
http://tonylian.iteye.com/blog/680916
分享到:
相关推荐
Apache CXF和Spring提供了丰富的扩展点,可以集成如Spring Security来控制访问权限,使用Spring AOP来处理事务,以及通过CXF的拦截器机制来实现自定义的日志、验证等功能。 总结来说,Apache CXF 2与Spring 2.5的...
【标题】中的"Apache CXF Web Service Development"指的是使用Apache CXF框架进行Web服务开发的过程。这通常包括了创建服务接口、实现服务逻辑、配置服务端点、以及发布和调用服务等步骤。源码部分可能包含了示例...
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache cxf_jar包"包含了实现基于Java的Web服务所需的一系列核心库。下面我们将深入探讨这些jar文件及其在Web服务实现...
这两本书籍,"Apache CXF Web Service Development" 和 "Developing Web Services with Apache CXF and Axis2 (3rd Edition)",显然是为了深入理解Apache CXF的工作原理和实际应用而编写的。 第一本书,"Apache CXF...
Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...
Apache CXF 框架是一个比较有前途的开源 Web Services 框架,也是构建 SOA 架构应用的利器。本书采用案例源码和解说形式全面介绍 Apache CXF 框架的功能。 本书共 15 章,大致分为三个部分。第一部分介绍关于 SOA 和...
Apache CXF 是一款广泛使用的开源框架,主要用于构建和部署高质量的Web服务。它以其灵活性、易用性和强大的功能集而闻名。"apache-cxf-3.5.0.zip" 文件包含了CXF框架的3.5.0版本,该版本可能包含了一些新特性、改进...
在"Apache CXF + Spring3 + REST + JSON配置"中,我们主要探讨如何利用Apache CXF和Spring 3框架来构建RESTful服务,并使用JSON作为数据交换格式。以下是一些关键知识点: 1. **Spring 3集成CXF**: - 首先,你...
Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF
在与Spring框架集成时,Apache CXF能够利用Spring的强大功能来管理服务的生命周期和依赖注入,使得Web服务的开发更加便捷和灵活。集成过程涉及以下几个关键步骤: 1. **环境准备**:确保使用合适的开发环境,例如...
在整合Apache CXF和Spring时,首先需要在Spring配置文件中声明CXF的相关bean。这通常包括服务接口、服务实现、以及服务发布器。例如,你可以定义一个服务接口,如`MyService`,并提供其实现`MyServiceImpl`。然后,...
"Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...
Apache CXF是一个开源的Java框架,它用于构建和开发Web服务。这个框架提供了一种灵活的方式来进行服务的创建、发布和调用。"Code-First"是CXF的一个重要概念,意味着开发者首先编写Java代码,然后CXF会自动生成相应...
Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...
Apache CXF是一个开源的Web服务框架,由Apache软件基金会开发并维护,专注于提供高质量的SOAP和RESTful服务。它的名称CXF来源于两个前身项目:XFire和Celtix的组合,这两个项目在2006年合并成为Apache CXF。Apache ...