cxf开发中遇到的错误

笔者使用的CXF的版本是2.3.3,这是CXF官网到目前为止的最新版本。

在开发过程中,遇到下面的一个错误:

信息: Creating Service {http://webservice.cxf.demo/}IWebServiceSampleService from class demo.cxf.webservice.IWebServiceSample
Exception in thread "main" javax.xml.stream.FactoryConfigurationError: Requested factory com.ctc.wstx.stax.WstxOutputFactory cannot be located.  Classloader
=sun.misc.Launcher$AppClassLoader@1add2dd
 at javax.xml.stream.FactoryLocator.loadFactory(FactoryLocator.java:120)
 at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:109)
 at javax.xml.stream.FactoryLocator.locate(FactoryLocator.java:54)
 at javax.xml.stream.XMLOutputFactory.newInstance(XMLOutputFactory.java:29)
 at org.apache.cxf.staxutils.StaxUtils.getXMLOutputFactory(StaxUtils.java:178)
 at org.apache.cxf.staxutils.StaxUtils.createXMLStreamWriter(StaxUtils.java:229)
 at org.apache.cxf.interceptor.StaxOutInterceptor.handleMessage(StaxOutInterceptor.java:70)
 at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:255)
 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:516)
 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:313)
 at org.apache.cxf.endpoint.ClientImpl.invoke(ClientImpl.java:265)
 at org.apache.cxf.frontend.ClientProxy.invokeSync(ClientProxy.java:73)
 at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:124)
 at $Proxy34.say(Unknown Source)
 at demo.cxf.test.WebServiceSampleClient.main(WebServiceSampleClient.java:80)

        网上查了好些资料,有的说是 javax.xml.stream.XMLOutputStream等类的实现类冲突,有的说是JDK版本的问题,于是将我使用的JDK从1.6改为1.5,还是存在相同的问题。又按有的网上资料里说的,设置上面那个类的实现类,还是没有改决。

        后来,干脆下载了CSF较低版本的来试,下载了2.2.12版本的CXF,发现其中的一个JAR包:wstx-asl-3.2.9.jar,在CXF2.3.3版本里是没有的,于是将这个包也放到项目的lib目录下,问题解决了。看来是官方网站里,不知怎么的将这个依赖包忘了发布了。

        笔者整理的CXF2.3.3的最少依赖包有如下的几个:

  1. cxf-2.3.3.jar
  2. geronimo-annotation_1.0_spec-1.1.1.jar
  3. geronimo-jaxws_2.2_spec-1.0.jar
  4. geronimo-stax-api_1.0_spec-1.0.1.jar
  5. geronimo-ws-metadata_2.0_spec-1.1.3.jar
  6. jaxb-api-2.2.1.jar
  7. jaxb-impl-2.2.1.1.jar
  8. neethi-2.0.4.jar
  9. wsdl4j-1.6.2.jar
  10. XmlSchema-1.4.7.jar
  11. wstx-asl-3.2.9.jar(这个包是从CXF2.2.12发布包里拿过来的)

        到目前为止是用这些包即可,当然这是特指CXF而言,我的项目里还有其它如Spring、struts2、日志等的相关包。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值