用SoapUI发送请求时收到“无法创建安全的XMLInputFactory”错误,我尝试了一些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
最佳答案
因此,有人提到在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'
}
冲突消失了。