CXF使用问题整理

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中排查冲突包

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

如果在为使用weblogic也报此问题,确认下工程中是否有这两个jar包

stax2-api-3.1.4.jar
woodstox-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).中是否有这两个包

<library-ref> 
    <library-name>jersey-bundle</library-name> 
    <specification-version>1.1.1</specification-version> 
    <implementation-version>1.1.5.1</implementation-version> 
</library-ref>     
<library-ref> 
    <library-name>jsr311-api</library-name> 
    <specification-version>1.1.1</specification-version> 
    <implementation-version>1.1.1</implementation-version> 
</library-ref>

2)将javax.ws.rs_1.0.0.0_1-1-1.jar,jersey-bundle_1.0.0.0_1-1-5-1.jar添加到工程的lib中

转载于:https://my.oschina.net/JasonZhang/blog/677144

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值