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

Dmi*_*try 7 java web-services cxf woodstox

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

有人可以建议Maven依赖Woodstox与CXF合作吗?

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

提前致谢.

Dmi*_*try 6

好吧,最后我有一个解决方案.首先,我要感谢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>
Run Code Online (Sandbox Code Playgroud)

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

    <prefer-application-packages>
        <package-name>com.ctc.wstx.*</package-name>
        <package-name>org.apache.*</package-name>
    </prefer-application-packages>
Run Code Online (Sandbox Code Playgroud)

请注意,如果这样做,可能会出现"NoClassDefinition"错误.如果是这样,请添加包含缺少类的maven依赖项.

希望这有助于某人.