这是本人在使用cxf开发Web Service遇到的问题,创建例子的项目步骤请参照:http://cxf.apache.org/docs/writing-a-service-with-spring.html 。下面本人创建例子过程当中遇到的问题,以及如何解决的,希望这样对读者有所帮助。
问题清单1
异常:FileNotFoundException 不能找到META-INF/cxf/cxf.xml。因为此文件放置在cxf-rt-core-xxxx.jar包中,所以请你确保class路径下有jar包。本人是使用Maven来构建项目的,所以在添加依赖时,需要添加如下依赖
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-frontend-jaxws</artifactId>
<version>2.3.4</version>
</dependency>
<dependency>
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-rt-transports-http</artifactId>
<version>2.3.4</version>
</dependency>
CXF其他模块的依赖,请参照http://cxf.apache.org/docs/using-cxf-with-maven.html 。
问题清单2
org.apache.cxf.BusException
: No binding factory for namespace http://schemas.xmlsoap.org/wsdl/soap/ registered。在apache cxf教程中,cxf-servlet.xml文件中有如下的配置:
<import
resource="classpath:META-INF/cxf/cxf.xml" />
<import
resource="classpath:META-INF/cxf/cxf-servlet.xml" />
解决的办法就是还需要增加一项:
<import
resource="classpath:META-INF/cxf/cxf-extension-soap.xml" />
问题清单3
Caused
by: java.net.MalformedURLException: Invalid address. Endpoint address cannot be
null.出错原因:
private
static final QName SERVICE_NAME = new QName(
"http://server.hw.demo/",
"HelloWorld" );
private
static final QName PORT_NAME = new QName("http://server.hw.demo/"
,
"HelloWorldPort");
中的URL不与真实包路径成相反。解决方法将http://server.hw.demo/。 改成与真实包路径完全相反。我的包路径为com.paleolake.system.webservice.cxf.jaxws,所以,我需要修改为
http://jaxws.cxf.webservice.system.paleolake.com/
分享到:
相关推荐
理解源码可以帮助开发者更深入地了解CXF的工作原理,解决遇到的问题。同时,CXF提供了很多工具和插件,如CXF的WS-Security、WS-I兼容性测试等,这些工具可以辅助开发和调试REST服务。 在【压缩包子文件的文件名称...
2. **错误排查**:如果遇到问题,可以查看 CXF 的日志输出,以便定位问题所在。 3. **性能优化**:根据项目需求,可以配置 CXF 的缓存、线程池等高级特性以提高性能。 通过以上步骤,可以成功地使用 CXF+Spring ...
在描述中提到,你遇到了官方下载页面无法访问的问题,这可能是由于网络问题、网站维护或者链接失效导致的。在这种情况下,寻找可靠的第三方资源获取CXF的jar包是必要的。CXF的jar包包含了运行和开发基于CXF的Web服务...
Java CXF Webservice接口在处理Web服务时,可能会遇到跨域问题,这通常是由于浏览器的安全策略限制了不同源之间的通信。解决这个问题的关键在于理解和应用CORS(Cross-Origin Resource Sharing)机制。CORS允许...
然而,在使用CXF时,可能会遇到各种编码问题,特别是当处理非ASCII字符集,如GBK时。本篇将深入探讨"cxf3.2.0编码GBK的不可映射字符问题",并提供解决方案。 在Java中,默认的字符编码是UTF-8,而GBK是一个中文常用...
这意味着用户可以从这些例子中学习如何使用CXF,并且可以直接使用提供的JAR包来避免环境配置的复杂性。 【压缩包子文件的文件名称列表】:CxfTest "**CxfTest**"很可能是这个压缩包中的主要文件或目录,它可能包含...
描述中提到的“**可解决客户端调用提示source 1.5已过时问题**”是指在使用较早的Java源代码版本(如Java 1.5)编译或运行时,可能会遇到警告或错误,因为这些版本已经被Java的新版本所替代。CXF 2.7.18可能已经更新...
在使用过程中,可能遇到的问题包括版本兼容性问题、XML解析错误、网络通信异常等。解决这些问题通常需要查看日志、调试代码,甚至阅读CXF的官方文档和社区论坛。对于初学者来说,理解CXF的工作原理、熟悉其配置方式...
- **社区支持**:作为一个活跃的开源项目,Apache CXF拥有庞大的开发者社区,遇到问题时可以获取到及时的技术支持和解决方案。 在解压后的"apache-cxf-2.7.11"文件中,你将找到以下组件和资源: - **bin目录**:...
在WebSphere上部署CXF(CXF全称为Apache CXF,是一个开源的Java服务框架)时,可能会遇到一系列挑战。本文将深入探讨这些常见问题及其解决方案,帮助你顺利地在WebSphere应用程序服务器上运行CXF服务。 首先,理解...
因此,在使用JBoss AS部署CXF应用时,可能会遇到来自CXF库及其依赖项的类加载问题。 **2. 解决方案** 为了防止类加载冲突,建议参考JBoss AS官方文档来启用类加载隔离功能。这样可以确保部署到JBoss AS上的CXF应用...
当CXF客户端与服务器进行交互时,如果双方对字符编码的理解不一致,可能会导致乱码问题,例如在这里遇到的GBK编码问题。 **GBK编码问题** GBK是GB2312的扩展,包含了大量的中文字符,广泛应用于中国地区。在处理...
总之,对"CXF-2.3.11源码"的深入研究不仅可以提升对Web服务和SOA的理解,也有助于开发者在遇到相关问题时,能更有效地定位和解决问题。如果你对Web服务编程、框架设计或者想要了解Java社区的历史发展感兴趣,这个...
在Java开发中,CXF和Axis是两种广泛使用的Web服务框架。CXF主要用来创建和消费SOAP和RESTful Web服务,而Axis则是Apache组织早期推出的一款Web服务框架...在实际开发过程中,可能会遇到各种问题,需要耐心调试和解决。
在使用Apache CXF框架创建客户端时,可能会遇到与GBK编码相关的问题。这通常是由于数据传输过程中编码不一致或处理不当导致的。GBK编码是中文字符集的一种,它扩展了GB2312,包含了更多的汉字,但在处理非GBK字符集...
在处理CXF与JAXB的集成时,有时会遇到版本冲突的问题,特别是在处理Web服务时,这些问题可能会导致应用程序运行异常。 本文将深入探讨如何解决CXF与JAXB版本冲突,以及如何处理Java.lang.LinkageError,特别是当...
9. **文档与社区**:CXF拥有丰富的官方文档和活跃的用户社区,遇到问题时可以查阅文档或在论坛上寻求帮助。 10. **部署策略**:在部署CXF服务时,可以选择独立运行(如使用Jetty或Tomcat容器),也可以作为Spring...
5. **异常处理**:在调用Web服务时,可能会遇到各种异常,如网络问题、服务不可用等。因此,适当的异常处理机制是必要的,通常通过try-catch语句来捕获和处理这些异常。 6. **测试和调试**:CXF提供了丰富的测试...
Readme文件通常包含了项目的基本信息、安装指南、运行步骤以及可能遇到的问题和解决方案。对于初学者来说,这是一个非常重要的文档,能够帮助他们快速理解和运行示例。 6. **cxf-web服务端客户端** 压缩包中的...
本文将详细介绍如何在 Karaf 容器中引入 CXF 以及遇到问题时的解决方案。 #### 二、准备工作 1. **下载 Apache Karaf 4.2.0**: - 访问 Apache 官方网站或使用其他可靠途径下载 Apache Karaf 4.2.0。 - 下载完成...