当前位置: 首页 > 面试题库 >

通过Maven的CXF 2.7.x Woodstox兼容性

罗烨霖
2023-03-14
问题内容

在CXF的文档中,据说2.7.x版本要求在4.2.0版本以下的Woodstox jars在类路径中可用。

有人可以建议Woodstox的Maven依赖项与CXF一起工作吗?

主要问题是当我尝试使用cxf的客户端时,引发了异常“无法创建安全的XMLInputFactory”。根据不同的论坛(例如),可以使用“
org.apache.cxf.stax.allowInsecureParser”系统属性来解决此问题,但这似乎不是一个好方法。所以Maven依赖是必经之路…

提前致谢。


问题答案:

好吧,终于我有了解决方案。首先,我要感谢StaxMan的帮助。

我的环境是:Weblogic 11g,CXF 2.7.5

问题在于WLS已经包含StAX API和xml解析器的实现,这就是为什么应用程序在使用CXF时看不到Woodstox解析器的原因。

这是pom.xml:

        <!-- CXF -->
        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-api</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-frontend-jaxws</artifactId>
        </dependency>

        <dependency>
            <groupId>org.apache.cxf</groupId>
            <artifactId>cxf-rt-transports-http</artifactId>
        </dependency>

和主要部分-位于resource / META-INF /中的weblogic-application.xml:

    <prefer-application-packages>
        <package-name>com.ctc.wstx.*</package-name>
        <package-name>org.apache.*</package-name>
    </prefer-application-packages>

请注意,如果这样做,可能会发生“ NoClassDefinition”错误。如果是这样,请添加包含缺少类的Maven依赖项。

希望这对某人有帮助。



 类似资料:
  • 问题内容: 在以下代码段中: 尽管类型似乎完全匹配,但分配是错误的。 我通过将Collection的类型指定为另一个通用参数,设计出了一种肮脏的解决方法,如下所示: 但是该参数实际上是“无关”类型,只会使API复杂化,在保持类型安全的同时,有没有什么方法可以摆脱它呢? 谢谢。 问题答案: 这样做就可以了: 您仍然可以像这样使用迭代器: 作为参考,请阅读get and put原理 (最初来自Java

  • 以下是这个问题,它提供了一个解决方案,但没有解释它(不幸的是,答案中的链接现在没有了): WTF???在上调用返回一个,该不能赋值给类型为的变量,但可以赋值给类型为的变量?扩展Map.Entry >????? 有人能说说这是怎么回事吗?这是否意味着,每当我使用至少2层深度的通配符类型编写方法时,我都必须记住将其设置为在什么地方?

  • 我必须在一个需要运行Java6的旧项目中工作,因为在未来的版本中,已经删除了对贬值的sun类的引用。作为过程的一部分,我将系统路径中的jdk从8更改为指向Java6JDK。这样做后,我得到: 这类似于 Maven 安装 OSX 错误 不支持的主要.次要版本 51.0 和线程“主要” java.lang.不受支持的类版本中的异常错误: a (不支持的主要.minor 版本 51.0) 但是我不打算升

  • Django 的目的,是要与多个不同的 Python 版本兼容。

  • 本章提供了有关 版本控制 章节中提供的破坏性和非破坏性修改列表的详细说明。 什么算是一个破坏性(不兼容)的变化并没有明确的定义。本指南应该被视为指示性的,而不是每一种可能变化的全面清单。 这里列出的规则只涉及客户端兼容性。预期API生产者明白在部署方面的要求,包括实现细节的变化。 一般目的是,服务端更新到一个新的minor版本或patch版本不该破坏客户端。可预期的破坏类型有: 源代码兼容性:针对

  • 语言补丁 Array.isArray Object.assign JSON.stringify console-polyfill Object.keys Object.is Array.prototype.forEach Function.prototype.bind 或者直接使用https://polyfill.io/ 提供的动态补丁方案 <script src="https://cdn.pol