1.Cannot create a secure XMLInputFactory
问题描述:CXF 2.7.7,SOAP服务,在jetty可顺利执行,部署至Weblogic 12C报错
异常信息:
java.lang.RuntimeException: Cannot create a secure XMLInputFactory at org.apache.cxf.staxutils.StaxUtils.createXMLInputFactory(StaxUtils.java:312) at org.apache.cxf.staxutils.StaxUtils.getXMLInputFactory(StaxUtils.java:262) at org.apache.cxf.staxutils.StaxUtils.createXMLStreamReader(StaxUtils.java:1408)
问题原因:包冲突
解决方案:在weblogic.xml中排查冲突包
com.ctc.wstx.* org.codehaus.stax2.*
如果在为使用weblogic也报此问题,确认下工程中是否有这两个jar包
stax2-api-3.1.4.jarwoodstox-core-asl-4.4.1.jar
2.Servlet: "jersey" failed to preload on startup in Web application:"
问题描述:基于CXF开发的JAX-RS web services(restful),部署至weblogic报错
异常信息:
weblogic.application.ModuleException: [HTTP:101216]Servlet: "jersey" failed to preload on startup in Web application: "xxx.war".com.sun.jersey.spi.inject.Errors$ErrorMessagesException at com.sun.jersey.spi.inject.Errors.processErrorMessages(Errors.java:170) at com.sun.jersey.spi.inject.Errors.postProcess(Errors.java:137) at com.sun.jersey.spi.inject.Errors.processWithErrors(Errors.java:203) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:702) at com.sun.jersey.server.impl.application.WebApplicationImpl.initiate(WebApplicationImpl.java:691) at com.sun.jersey.spi.container.servlet.ServletContainer.initiate(ServletContainer.java:438)
问题原因:weblogic中未找到jersey的相关jar包
问题解决:
1)在weblogic.xml中加入如下配置,确认目录${WL_HOME}/common/deployable-libraries).中是否有这两个包
jersey-bundle 1.1.1 1.1.5.1 jsr311-api 1.1.1 1.1.1
2)将javax.ws.rs_1.0.0.0_1-1-1.jar,jersey-bundle_1.0.0.0_1-1-5-1.jar添加到工程的lib中