`
maomaode
  • 浏览: 120596 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Apache CXF tools support more XercesImpl

    博客分类:
  • XML
阅读更多
Apache CXF tools 并没有依赖具体的XercesImpl,而是使用Java5里面的默认的实现。 但如果你的classpath里面有其他版本的XercesImpl, 那么在这个版本之前,你只能看到类似的输出结果了:UnsupportedOperationException
<link rel="stylesheet" type="text/css" href="http://maomaode.bokeland.com/plugins/plogeshi/styles/plogeshi.css">原因是XercesImpl 版本(2.6.2) 并不支持DocumentBuilderFactory.setSchema, CXF的代码里面用这个方法来校验toolspec的document, 为了支持这个版本,我们放弃了schema validation, 正如你看到的

-            this.parserFactory.setSchema(this.schema);
+            try {
+                this.parserFactory.setSchema(this.schema);                
+            } catch (UnsupportedOperationException e) {
+                LOG.log(Level.WARNING, "DOC_PARSER_NOT_SUPPORTED", e);
+            }
 

这样做还是无法满足其他版本的XercesImpl(2.7.1 以上的版本), 因为没有setSchema的支持,

doc.getElementById(id);
 

将会返回null, 因为这个id是被定义在schema里面的

<attribute name="id" type="ID" use="optional"/""">

所以这里就必须用XPath了,而事实上我认为xpath是最好的从dom里面取信息的方法了
我想这篇文章中所提到的几个观点正好从这个例子里面得到了印证
那就是
* schema 校验应该遵循 “严以待己,宽以待人” (a.k.a Postel’s law)
发送消息前进行校验,因为schema是你自己的, 在接受消息的时候,尽量避免进行schema校验, 同样的,在生产系统上尽量避免schema 校验
* 使用XPath来获取信息
避免使用getElementId这样的方法, 而多采用XPath, 因为前者很可能返回null

分享到:
评论

相关推荐

    基于Apache CXF构建SOA应用

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

    apache cxf_jar包

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

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

    Apache CXF是一个开源的Java框架,专门用于构建和部署Web服务。它提供了全面的工具和技术,使得开发人员能够轻松地创建、实现和部署基于SOAP(简单对象访问协议)和RESTful(表述性状态转移)风格的服务。这两本书籍...

    apache-cxf-3.5.0.zip

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

    Apache CXF

    Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF Apache CXF

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

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

    Apache CXF Web Service Development(源码)

    Apache CXF是一个开源框架,主要用于构建和开发Web服务。它提供了强大的工具和支持,使得开发者能够轻松地创建、部署和管理SOAP(Simple Object Access Protocol)和RESTful(Representational State Transfer)服务...

    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 2.2.8版本下载

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个项目的核心目标是提供一个工具集,使开发者能够轻松地创建和部署基于SOAP和RESTful的服务。CXF这个名字来源于两个曾经流行...

    apache-cxf-3.1.8.zip

    7. **测试工具**:CXF提供了一些强大的测试工具,如CXF TestSupport和wsdl2java工具,用于生成客户端代码和模拟服务,方便开发和测试。 8. **国际化和本地化**:CXF支持多语言环境,允许服务和消息内容根据用户所在...

    基于Apache CXF构建SOA应用 随书源代码

    2013版的 &lt;基于Apache CXF构建SOA应用&gt; 源码 Apache CXF是一个开放源码的Web服务框架,提供了一个易于使用,用于开发Web Services标准为基础的编程模型。本书主要介绍Apache CXF在构建SOA架构各个方面的应用说明和...

    apache cxf 用户手册

    apache cxf 2.1.3 的用户手册

    cxf框架包 apache-cxf-3.4.3.tar.gz

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个框架允许开发者通过SOAP、RESTful HTTP、XML以及各种协议来实现服务接口。在本案例中,我们讨论的是"apache-cxf-3.4.3.tar.gz",这是Apache CXF ...

    apache cxf 一个helloworld的例子

    ### Apache CXF HelloWorld 示例详解 #### 一、Apache CXF简介与特点 Apache CXF(以下简称为CXF)是一款非常流行的开源项目,用于构建和服务Web Services。它整合了两个著名的开源项目:Apache Celtix 和 XFire。...

    apache-cxf-2.2.10安装包和如何配置到环境变量

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-2.2.10"版本是该框架的一个历史版本,发布于较早的时期。在本文中,我们将详细介绍如何安装和配置Apache CXF ...

    apache-cxf-2.0.10.zip下载地址

    Apache CXF 是一个开源的Java框架,主要用于构建和开发Web服务。这个项目源自XFire,并在2006年合并到Apache基金会,更名为CXF,意为“CXF is for eXtending and Fusing Web Services”。Apache CXF 2.0.10 版本是该...

    WebServiceConfig java springboot利用Apache CXF创建webserice接口配置类

    webserviceApache CXF java springboot利用Apache CXF创建webserice接口 Apache CXF 核心架构是以BUS为核心,整合其他组件。 * Bus是CXF的主干, 为共享资源提供一个可配置的场所,作用类似于Spring的...

    apache-cxf-3.1.6.zip官网完整包

    Apache CXF 是一个开源的Java框架,主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf-3.1.6.zip"是Apache CXF的3.1.6版本的官方完整包,发布于2016年4月14日,包含了与Spring框架的集成支持。 **...

Global site tag (gtag.js) - Google Analytics