CXF java.lang.IncompatibleClassChangeError异常 解决方法


  
 CXF发布webservice在tomcat中没问题。

部署在Websphere中,直接访问WebServices没有问题,在访问?wsdl时出问题,问题出在wsdl4j-1.6.2.jar上面,也是ClassLoader的问题。

https://cwiki.apache.org/confluence/display/CXF20DOC/Application+Server+Specific+Configuration+Guide

给出了解决方案!



 

 

 

1、将wsdl4j-1.6.2.jar 放到 $WebSphere_HOME/java/jre/lib/endorsed 文件夹下。如果没有endorsed文件夹,新建一个。

2、在WebSphere console中,找到 应用程序 -à 企业应用程序

  

 

 3、点击当前工程

  

 

 

 

 

4、点击 类装入和更新检测



 

填写完红色方框的内容。

点击 应用

点击 保存到主配置

 

If you put your wsdl4j-1.6.1 jar in $WAS_HOME/java/jre/lib/endorsed, all your applications will depend on your version of wsdl4j.

Another solution is to create a new class loader in your server which loads before parent class loader, create a shared library with your version of wsdl4j, and add this shared library to your new class loader.

This version of wsdl4j will only be available for your specific server and not affect applications running in other servers.

 

推荐使用下面的方法  

 

1、将wsdl4j-1.6.2.jar 放到 D:\soft\IBM\WebSphere\AppServer\endorsed 文件夹下。这个目录名称可以随便定义,下面要使用到这个目录。

2、在WebSphere console中,找到 环境 -à 共享库 进入如下页面

    

  

 

3、点击 新建 进入如下页面

 



 

说明:

   类路径 是绝对路径

也可以使用

 D:/soft/IBM/WebSphere/AppServer/endorsed/wsdl4j-1.6.2.jar

 

4、引用共享库

   服务器-à应用程序服务器,点击server1 进入如下页面

 



 

5、点击 Java和进程管理-à类装入器,显示如下页面



 点击 新建



 

6、 选择 类已装入并且是先使用应用程序类装入器 ,点击 应用  保存到主配置,进入如下界面



  点击 共享库引用



 点击 添加



 

 

 

库名 选择新建的共享库名,点击 应用 保存到主配置

 

7、重启WebSphere服务

 

 

### 回答1: 这是一个 SOAP 错误,表示在程序运行时发生了空指针异常。这意味着您的程序尝试调用了一个 null 对象的方法或访问了一个 null 对象的属性,而该对象的实际值为 null。解决这个问题的方法是检查您的代码,找出哪个对象是 null 并将其初始化为有效值。 ### 回答2: org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException 是一个SOAP异常,它指出在处理SOAP消息时发生了一个空指针异常。 SOAP(简单对象访问协议)是一种用于在网络上交换结构化信息的协议。当客户端与服务端之间通过SOAP通信时,可能会出现各种异常,包括空指针异常。 在这种情况下,org.apache.cxf.binding.soap.SoapFault 表示SOAP通信期间发生了错误,导致服务端返回了一个SOAP错误消息。这个错误消息的具体内容是 "Fault: java.lang.NullPointerException",意味着在服务端处理请求时发生了空指针异常。 空指针异常java.lang.NullPointerException)通常是由于使用了一个空对象的引用而产生的。在这种情况下,服务端可能在处理请求过程中调用了一个未初始化或为空的对象,导致空指针异常的抛出。这可能是由于代码缺陷、错误的数据传递或其他运行时错误导致的。 要解决这个问题,需要检查服务端代码,并确保正确地初始化和使用对象引用,避免出现空指针异常。可以使用调试技术或添加日志语句来帮助确定引发异常的具体位置,并进行修复。此外,还可以检查数据传递过程中是否存在错误,确保正确地传递和解析数据。 总之,org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException 是一个SOAP异常,它告诉我们在处理SOAP消息时发生了一个空指针异常解决此问题需要检查服务端代码,并确保正确地初始化和使用对象引用,以及确保数据传递过程中的正确性。 ### 回答3: org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException是一个SOAP协议的错误,它表示在CXF框架中发生了一个空指针异常。 空指针异常(NullPointerException)通常是由于程序中的某个对象为空而引起的。在这个特定的错误中,CXF框架在处理SOAP消息时发生了一个未预料到的空指针异常。 要解决这个问题,我们需要追踪错误的发生点并找出为空的对象。首先,检查CXF框架相关的配置文件,确保所有的依赖项都正确地配置和加载。如果配置正确,那么可能是代码中的某个对象没有正确地被初始化或注入。 使用调试工具来调试代码是一种很好的方法,它可以帮助我们找出具体的出错位置。一旦错误点被确定,我们可以通过增加空检查的逻辑或者检查对象的初始化过程来解决这个问题。 另外,确保在CXF框架的使用过程中遵循最佳实践,例如正确地配置和使用CXF异常处理机制,以及正确地处理和记录异常信息。 总而言之,org.apache.cxf.binding.soap.SoapFault: Fault: java.lang.NullPointerException表示在CXF框架中发生了一个空指针异常。为了解决这个问题,我们需要定位并修复代码中的空指针异常
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值