说明:通过cxf根据WSDL来生成的客户端代码,代码的本身并没有引入CXF包中的东西,理论上移到weblogic(我们用WEBLOGIC来开发的webservice)是没任何问题的
但事实上移进去之后就会报下面一些异常。
异常信息:
javax.xml.ws.soap.SOAPFaultException: java.lang.NullPointerException
at org.apache.cxf.jaxws.JaxWsClientProxy.invoke(JaxWsClientProxy.java:156)
at $Proxy119.computePSRStatisticByDept(Unknown Source)
at cn.creaway.webgis.sggis.business.SpatialAnalysisServiceBusiness.computePSRStatisticByDept(SpatialAnalysisServiceBusiness.java:107)
at cn.creaway.webgis.sggis.services.SpatialAnalysisService.computePSRStatisticByDept(SpatialAnalysisService.java:130)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
.........
Caused by: org.apache.cxf.binding.soap.SoapFault: java.lang.NullPointerException
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.unmarshalFault(Soap11FaultInInterceptor.java:75)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:46)
at org.apache.cxf.binding.soap.interceptor.Soap11FaultInInterceptor.handleMessage(Soap11FaultInInterceptor.java:35)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:262)
at org.apache.cxf.interceptor.AbstractFaultChainInitiatorObserver.onMessage(AbstractFaultChainInitiatorObserver.java:113)
.........
原因分析:由于我在生成客户端代码时,配置的根目录为cn.creaway.webgis.proxy,而在发布时将生成的代码COPY到了cn.creaway.webgis.sggis.proxy下,结果导致了上面异常。打开生成的主要源文件,发现如图一,里面的classname还是指向原来的包目录,所以会抛此异常。
扩展:CXF客户端所需的最少的包commons-logging-1.1.1.jar,cxf-2.6,wsdl4j-2.6,XmlSchema-2.6就行了。
分享到:
相关推荐
这个压缩包"apache-cxf-2.7.7以及cxf客户端所需要的jar包"包含了Apache CXF 2.7.7版本及其客户端运行所需的库文件。这些jar包对于创建、部署和消费Web服务至关重要,特别是对于使用命令行生成Web服务客户端的开发者...
【CXF客户端生成器】是基于Apache CXF框架的一个实用工具,主要用于自动生成Java客户端代码,使得开发者可以方便地调用Web服务。Apache CXF是一个开源的SOAP和RESTful Web服务框架,它允许开发者创建和消费各种Web...
当我们谈论“自动生成”CXF客户端时,通常是指利用IDE中的功能,根据服务的WSDL(Web Service Description Language)文档,自动生成对应的客户端代码。在MyEclipse这样的IDE中,这个过程相当直观。以下是具体步骤:...
在标题和描述中提到的“CXF客户端测试需要的最少JAR包”,是指能够支持CXF客户端功能运行的基础依赖集合。 通常,一个基础的CXF客户端测试环境可能包括以下关键组件: 1. **cxf-rt-frontend-jaxws**:这是CXF的...
对于仍在使用JDK 1.6的开发者,他们需要寻找适应该版本的CXF客户端jar包。 【标签】"cxf" 标签明确了此资源的核心内容,即Apache CXF。这是一个广泛使用的开源项目,它提供了多种功能,包括SOAP和RESTful Web服务的...
**创建Webservice CXF客户端的步骤如下:** **服务端项目准备:** 1. **引入Webservice库:** 首先,你需要下载Apache CXF的库。例如,你可以获取apache-cxf-2.7.6.zip,并将其解压缩。将解压后的`lib`目录中的...
在这个“cxf简单实例 服务端与客户端”中,我们将探讨如何使用CXF来创建服务端和客户端应用。 服务端开发是Web服务的核心部分。在CXF中,服务端通常通过以下步骤建立: 1. 定义服务接口:首先,我们需要定义一个...
在Spring框架中开发CXF客户端应用是一个常见的任务,特别是在企业级应用中,常常需要与远程Web服务进行交互。本文将详细介绍如何在不依赖服务端API的情况下,基于CXF 2.4和Spring 3.0.5.RELEASE,通过一个给定的WSDL...
- 下载Apache CXF的源码包,如`apache-cxf-3.1.10-src`,解压后,你可以通过Maven或Gradle构建项目,或者直接将CXF的JAR文件添加到你的类路径中。 - 如果使用Maven,可以在pom.xml文件中添加CXF的依赖,确保版本与...
### CXF生成WS客户端代码详解 #### 一、概述 CXF(Camel-XML-Fuery)是一款开源框架,支持开发和维护基于SOAP、REST等协议的服务。它提供了强大的工具集来简化服务的创建、发布及消费过程。其中,“wsdl2java”...
在实际应用中,将这些jar包添加到项目的类路径中,就可以使用CXF提供的API来创建和调用Web服务。为了使用这些jar包,开发者通常需要配置CXF的Spring Bean,或者使用Maven或Gradle等构建工具管理依赖。同时,对于...
总的来说,通过适当配置日志框架,我们可以将CXF的服务报文日志记录到文件中,这有助于我们在不干扰正常运行的情况下收集和分析日志信息,对于优化服务性能、追踪问题以及满足合规性要求都具有重要意义。
Apache CXF 3.4.3是该框架的一个稳定版本,它修复了之前版本的一些已知问题,可能还包含新的特性和性能优化。升级到这个版本可以确保你得到最新的安全更新和功能改进。 **3. Web服务** CXF主要应用于Web服务的开发...
Apache CXF是一个开源的Java框架,专注于简化和构建SOAP(Simple Object Access Protocol)和RESTful...在实际项目中,根据需求选择合适的jar包并添加到项目的类路径中,即可开始利用CXF的强大功能进行开发。
9. **测试**:学习如何使用CXF的客户端模拟器或者像JUnit这样的工具来测试Web服务。 10. **部署**:理解如何将CXF服务部署到应用服务器,如Tomcat、Jetty等。 总之,CXF JAR包的下载和使用涉及到Web服务开发的多个...
这些文件可能需要被加载到CXF客户端,以便正确地处理与服务交互的安全和性能问题。例如,如果服务需要进行SOAP消息签名,那么对应的WSS4J策略文件就会在这里。 总的来说,CXF契约优先的客户端实现涉及到WSDL的编写...
开发者通常会将这个JAR文件添加到项目的类路径中,以便在项目中使用CXF的功能。这个版本可能修复了一些已知的bug,并提供了对当时最新Web服务标准的支持。 在实际开发中,为了使用CXF,我们需要在项目中配置相关的...
1. **环境配置**:将提供的jar包添加到项目的类路径中,确保所有依赖都已解决。 2. **创建服务**:利用CXF提供的API定义服务接口和实现,可以通过JAX-WS或JAX-RS的方式。 3. **部署服务**:使用CXF的Bus来启动服务,...
### CXF实现SSL安全验证 在现代网络应用中,安全通信是至关重要的。Apache CXF 是一个开源项目,提供了一套强大的工具和服务框架,用于构建和开发基于标准的服务(如 Web Services)。本文将详细介绍如何使用 CXF ...