CXF 3.1.12无法创建安全的XMLInputFactory

时间:2017-08-01 07:37:22

标签: java cxf build.gradle woodstox

我得到了一个"无法创建安全的XMLInputFactory"使用SoapUI发送请求时出错,我尝试了一些stackoverflow提到的解决方案,比如添加woodstox和stax2-api,但问题仍然存在

来自build.gradle的

compile 'org.codehaus.woodstox:woodstox-core-asl:4.4.1'
compile 'org.codehaus.woodstox:stax2-api:4.0.0'

compile 'org.apache.cxf:cxf-rt-frontend-jaxws:3.1.12'
compile 'org.apache.cxf:cxf-rt-ws-security:3.1.12'
compile 'org.apache.cxf:cxf-rt-transports-http:3.1.12'

以前使用woodstox-core工作,但开始抛出错误

compile 'com.fasterxml.woodstox:woodstox-core:5.0.3'

从以前的第3版解决方案来看,CXF甚至不需要woodstox,我也试过没有woodstox。

是否可以像axis2一样更新任何其他依赖项? 我应该在接下来的步骤中找到什么?谢谢

注意:使用tomcat 8.5.19

2 个答案:

答案 0 :(得分:3)

所以解决方案发现,在SaxUtils.java,有人提到有一个

factory = XMLInputFactory.newInstance();

我们可以从哪里看到它。

在axis2中实际上存在冲突,因此排除了neethi

compile('org.apache.axis2:axis2-transport-http:1.5.1') {
    exclude group: 'javax.servlet', module: 'servlet-api'
    exclude module: 'XmlSchema'
    exclude group: 'org.apache.neethi', module: 'neethi'
    exclude group: 'org.codehaus.woodstox'
}
runtime ('org.apache.axis2:axis2-transport-local:1.5.1'){
    exclude group: 'org.codehaus.woodstox', module: 'wstx-asl'
}

冲突消失了。

答案 1 :(得分:1)

我想与' dotmindlabs'确认。关于Axis2的问题。在实施Apache CXF 3.2.1时,我还使用了Axis2的一些软件包。我遇到了同样的问题"无法创建安全的XMLInputFactory"

该问题与其他库Axis2 Implements严格相关。

我在下面提供了解决此问题所需的依赖项(Maven)更改。

  <!-- https://mvnrepository.com/artifact/org.apache.axis2/axis2-transport-http -->
    <dependency>
        <groupId>org.apache.axis2</groupId>
        <artifactId>axis2-transport-http</artifactId>
        <version>1.6.2</version>
        <exclusions>
            <exclusion>
                <groupId>org.apache.ws.commons.schema</groupId>
                <artifactId>XmlSchema</artifactId>
            </exclusion>
            <exclusion>
                <groupId>javax.servlet</groupId>
                <artifactId>servlet-api</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.apache.neethi</groupId>
                <artifactId>neethi</artifactId>
            </exclusion>
            <exclusion>
                <groupId>org.codehaus.woodstox</groupId>
                <artifactId>wstx-asl</artifactId>
            </exclusion>
        </exclusions>
    </dependency>

我希望这可以帮助将来遇到这个问题的人。