`
卡拉阿风
  • 浏览: 100846 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

Apache CXF Writing a service with Spring notes

阅读更多

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)
接口定义:

@WebService(name = "UserService",targetNamespace = Constants.WS_NAMESPACE)
 public interface UserWebService {
 @WebResult(name = "user")
 public UserDTO getUser(@WebParam(name = "userId") Integer userId);
}

 

* @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。

接口实现:

@WebService(endpointInterface = "com.javaeye.test.ws.user.UserWebService",targetNamespace = Constants.WS_NAMESPACE)
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)

@XmlType(name = "User")
public class UserDTO {
}

 * 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

分享到:
评论

相关推荐

    Apache CXF2+Spring2.5轻松实现WebService

    Apache CXF和Spring提供了丰富的扩展点,可以集成如Spring Security来控制访问权限,使用Spring AOP来处理事务,以及通过CXF的拦截器机制来实现自定义的日志、验证等功能。 总结来说,Apache CXF 2与Spring 2.5的...

    Apache CXF Web Service Development(源码)

    【标题】中的"Apache CXF Web Service Development"指的是使用Apache CXF框架进行Web服务开发的过程。这通常包括了创建服务接口、实现服务逻辑、配置服务端点、以及发布和调用服务等步骤。源码部分可能包含了示例...

    apache cxf_jar包

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)中的Web服务。这个"apache cxf_jar包"包含了实现基于Java的Web服务所需的一系列核心库。下面我们将深入探讨这些jar文件及其在Web服务实现...

    两本关于apache cxf的书籍,英文

    这两本书籍,"Apache CXF Web Service Development" 和 "Developing Web Services with Apache CXF and Axis2 (3rd Edition)",显然是为了深入理解Apache CXF的工作原理和实际应用而编写的。 第一本书,"Apache CXF...

    Developing Web Services with Apache CXF and Axis2(3rd Edition).zip

    Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...

    基于Apache CXF构建SOA应用

    Apache CXF 框架是一个比较有前途的开源 Web Services 框架,也是构建 SOA 架构应用的利器。本书采用案例源码和解说形式全面介绍 Apache CXF 框架的功能。 本书共 15 章,大致分为三个部分。第一部分介绍关于 SOA 和...

    apache-cxf-3.5.0.zip

    Apache CXF 是一款广泛使用的开源框架,主要用于构建和部署高质量的Web服务。它以其灵活性、易用性和强大的功能集而闻名。"apache-cxf-3.5.0.zip" 文件包含了CXF框架的3.5.0版本,该版本可能包含了一些新特性、改进...

    Apache CXF + Spring3 + REST + JSON配置

    在"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 Apache CXF

    Apache cxf 与spring集成

    在与Spring框架集成时,Apache CXF能够利用Spring的强大功能来管理服务的生命周期和依赖注入,使得Web服务的开发更加便捷和灵活。集成过程涉及以下几个关键步骤: 1. **环境准备**:确保使用合适的开发环境,例如...

    Apache CXF 与 Spring 整合简单例子

    在整合Apache CXF和Spring时,首先需要在Spring配置文件中声明CXF的相关bean。这通常包括服务接口、服务实现、以及服务发布器。例如,你可以定义一个服务接口,如`MyService`,并提供其实现`MyServiceImpl`。然后,...

    Apache CXF开发Web Service 开发Web Service之Kick Start

    "Apache CXF开发Web Service - 开发Web Service之Kick Start"的主题意味着我们将深入探讨如何快速入门使用CXF进行Web服务开发。 首先,我们来看一下CXF的主要功能。CXF支持多种Web服务规范,如SOAP、RESTful(基于...

    Apache CXF开发Web Service 理解CXF Frontends之Code-First

    Apache CXF是一个开源的Java框架,它用于构建和开发Web服务。这个框架提供了一种灵活的方式来进行服务的创建、发布和调用。"Code-First"是CXF的一个重要概念,意味着开发者首先编写Java代码,然后CXF会自动生成相应...

    WebService with Apache CXF

    Apache CXF = Celtix + XFire,Apache CXF 的前身叫 Apache CeltiXfire,现在已经正式更名为 Apache CXF 了,以下简称为 CXF。CXF 继承了 Celtix 和 XFire 两大开源项目的精华,提供了对 JAX-WS 全面的支持,并且...

    apache-cxf2.7.18官方版最稳定版本

    Apache CXF是一个开源的Web服务框架,由Apache软件基金会开发并维护,专注于提供高质量的SOAP和RESTful服务。它的名称CXF来源于两个前身项目:XFire和Celtix的组合,这两个项目在2006年合并成为Apache CXF。Apache ...

Global site tag (gtag.js) - Google Analytics