笔者使用的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的最少依赖包有如下的几个:
- cxf-2.3.3.jar
- geronimo-annotation_1.0_spec-1.1.1.jar
- geronimo-jaxws_2.2_spec-1.0.jar
- geronimo-stax-api_1.0_spec-1.0.1.jar
- geronimo-ws-metadata_2.0_spec-1.1.3.jar
- jaxb-api-2.2.1.jar
- jaxb-impl-2.2.1.1.jar
- neethi-2.0.4.jar
- wsdl4j-1.6.2.jar
- XmlSchema-1.4.7.jar
- wstx-asl-3.2.9.jar(这个包是从CXF2.2.12发布包里拿过来的)
到目前为止是用这些包即可,当然这是特指CXF而言,我的项目里还有其它如Spring、struts2、日志等的相关包。
分享到:
相关推荐
标题中的"WebService框架CXF开发WebService需要的jar包"指的是在CXF项目中,我们需要依赖特定的JAR库来支持服务的开发、部署和运行。这些JAR文件包含了CXF框架的核心功能以及与Web服务相关的API和实现。在Apache CXF...
在使用CXF开发时,通常通过Wsdl2java命令生成本地代理接口。然而,如果在执行此操作后出现错误,可能是由于命名空间冲突、网络问题或者是生成的代码与实际服务不匹配等原因。为解决这类问题,首先检查Wsdl2java命令...
主要是为了测试mybatis是否连接上数据库的时候写的测试类,作为一个刚学java,被抓壮丁的写服务器端的妹子,我只想说,画了我3周才解决了所有的错误啊,真的要自己因为不懂乱写乱改的时候遇到的那些莫名其妙的错误,...
在IT行业中,尤其是在Java Web开发领域,Apache CXF是一个广泛使用的开源框架,它用于构建和服务导向架构(SOA)的应用程序。CXF允许开发者通过多种Web服务标准来创建和消费Web服务,包括SOAP和RESTful服务。然而,...
在使用过程中,可能遇到的问题包括版本兼容性问题、XML解析错误、网络通信异常等。解决这些问题通常需要查看日志、调试代码,甚至阅读CXF的官方文档和社区论坛。对于初学者来说,理解CXF的工作原理、熟悉其配置方式...
描述中提到的“**可解决客户端调用提示source 1.5已过时问题**”是指在使用较早的Java源代码版本(如Java 1.5)编译或运行时,可能会遇到警告或错误,因为这些版本已经被Java的新版本所替代。CXF 2.7.18可能已经更新...
如果在安装 CXF 时遇到错误,可以尝试以下步骤: 1. **检查 Blueprint 状态**: - 使用命令 `feature:list | grep blueprint` 查看 Blueprint 的状态。 - 如果状态为 `uninstalled`,则需要安装 Aries Blueprint...
Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。CXF这个名字是"CXF"的首字母缩写,代表了它整合了两个项目:XFire和Celtix。CXF允许开发者通过多种协议如SOAP、RESTful HTTP、...
3. **强大的工具支持**:CXF集成了Eclipse IDE,使得在Eclipse中开发和调试Web服务变得非常方便。`CXF_In_eclipse.rar`可能包含了设置和使用CXF插件的详细步骤,以及在Eclipse中创建、运行和测试CXF服务的示例。 4....
它提供了一系列的功能和服务,包括但不限于SOAP、XML、REST等协议的支持,使其成为Java环境中进行Web服务开发的理想选择之一。CXF能够很好地与多种应用服务器协同工作,例如WebSphere Application Server (WAS) 和 ...
4. **错误处理与调试**:在描述中提到,实践中可能会遇到错误。常见的问题包括网络问题、文件编码不匹配、权限不足等。通过日志记录和异常处理,可以更好地追踪和解决这些问题。 5. **源代码下载**:提供的"**...
6. **处理乱码问题**:在 CXF 中,可能会遇到字符编码问题。可以配置 CXF 或 Spring 来指定合适的字符集,例如在 Spring 配置文件中设置: ```xml <property name="org.apache.cxf.transport....
7. **调试与优化**:在实际开发中,可能会遇到各种问题,如WSDL解析错误、SOAP消息处理异常等。CXF提供了丰富的日志和调试选项,配合Spring的事务回滚和异常处理机制,能有效地定位和解决问题。 总之,通过整合CXF...
在本文中,我们将探讨如何将Apache CXF 3.0.2版本集成到Spring框架中,以及在这个过程中可能遇到的问题和解决方案。Apache CXF是一个开源的SOA(Service-Oriented Architecture)框架,它允许开发人员创建和消费各种...
在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架...在实际开发过程中,可能会遇到各种问题,需要耐心调试和解决。
项目压缩包中包含的"log.log"文件是日志记录,通常会记录项目的运行状态、错误信息和调试信息,这对于开发者在部署和运行过程中排查问题至关重要。在使用这个项目之前,查看这个文件可以帮助理解系统的行为和可能...
8. **版本差异**:虽然CXF 2.1较旧,但其后有许多更新的版本,例如CXF 3.x,这些新版本通常包含更多的功能、改进和错误修复。在选择使用CXF 2.1时,需要权衡其稳定性和新版本的特性需求。 9. **文档与社区**:CXF...
在处理JSON数据时,可能会遇到格式错误、类型转换异常等问题,需要进行适当的错误处理。CXF提供了异常映射机制,可以将服务端的异常转换为对应的HTTP状态码和错误消息。 总结,Apache CXF结合JSON为开发者提供了...
在这个过程中,你可能会遇到一些常见问题,如依赖冲突、配置错误或端口占用。对于这些问题,检查`pom.xml`文件中的依赖版本是否兼容,确保Spring配置正确无误,并确认没有其他进程正在使用相同的端口。 此外,注意...
【标题】"我的cxf与ws-security"涉及的是在Java Web服务开发中使用Apache CXF框架集成WS-Security(Web Service Security)的安全机制。Apache CXF是一个开源的、功能丰富的Web服务框架,它允许开发者创建和消费各种...