`

CXF java.lang.IncompatibleClassChangeError异常

    博客分类:
  • SOA
阅读更多

CXF发布webservice在tomcat中没问题。

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

在网上搜到了 http://topic.csdn.net/u/20081025/17/3a60662f-a7aa-4454-a737-0a2863c7dda4.html

这里引用一下

 

建议用第二种

put jar in the endorsed folder
put the wsdl4j-1.6.1.jar in the $WebSphere_HOME/java/jre/lib/endorsed folder. 
In the WebSphere console, find the specific enterprise application, click the "Class loading and update detection". 
Mark the "Classes loaded with application class loader first" selected. 
Mark the "Class loader for each war file in application" selected. 
And then restart the Websphere server. (Because we changed the endorsed folder, we need to restart it to make it take effect).

 Please make sure your classpath doesn't have the servlet-2.5 library, since WebSphere6.1 is servlet-2.4 compliant!
 

Add your own class loader
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.

Step by step

In the WAS console navigate to Environment > Shared Libraries 
Select the scope you wish your library should be visible in 
Click New and set values ex: name=MYAPP_SHARED_LIB, classpath=PATH_TO/wsdl4j-1.6.1.jar and Save 
Navigate to Application servers > [your server name] > Java and Process Management > Class loader > New 
Select Classes loaded with application class loader first and Save 
Select your new class loader and click Shared library references 
Add your shared library (MYAPP_SHARED_LIB) Save and restart your server.

Tested in WAS 6.1 only but should work in earlier versions as well.


分享到:
评论

相关推荐

    在WebSphere发布CXF注意事项

    <servlet-class>org.apache.cxf.transport.servlet.CXFServlet <load-on-startup>1 <servlet-name>CXFServlet <url-pattern>/services/* ``` 3. **JAX-WS和JAX-RS支持**:CXF支持JAX-WS(Java API for ...

    cxf-manifest.jar

    webservice CXF 报错:java.lang.NoClassDefFoundError: org/apache/neethi/builders/AssertionBuilder 需要用到此jar文件 通过apache官网可获得。 文件位置\apache-cxf-2.7.13\lib

    apache-cxf-2.0.10.zip下载地址

    4. **配置文件**:如cxf.xml,用于配置CXF的行为和设置。 要开始使用Apache CXF 2.0.10,开发者需要解压此压缩包,将库文件添加到项目中,然后根据自己的需求配置CXF并编写相应的服务或客户端代码。需要注意的是,...

    JAVA的WebService支持

    7. **Apache CXF**:Apache CXF是一个开源框架,支持JAX-WS和JAX-RS标准,提供了一套完整的工具链来创建、部署和管理Web服务。 8. **Spring Web Services**:Spring框架提供了Spring Web Services模块,专注于创建...

    CXF3.1.10.jar

    【CXF3.1.10.jar】是一个与Apache CXF相关的Java库文件,它包含了CXF框架在3.1.10版本的所有组件和功能。Apache CXF是一个开源服务框架,它允许开发者构建和消费Web服务。这个jar包是开发人员在使用CXF框架时所必需...

    cxf.apache.org/schemas/(jaxrs.xsd、jaxrs.xsd、core.xsd)文件下载

    这样,当你在编写如`cxf.xml`或`spring-context.xml`这样的配置文件时,IDE就能识别出CXF的特定标签,并提供相应的代码提示。 例如,一个简单的CXF JAX-RS配置可能会如下所示: ```xml <beans xmlns="http://www....

    cxf3.1.18.rar

    spring 4.2.0 集成的cxf3.1.18的jar包,cxf-core-3.1.18.jar、cxf-rt-bindings-soap-3.1.18.jar、cxf-rt-databinding-jaxb-3.1.18.jar、cxf-rt-frontend-jaxws-3.1.18.jar、cxf-rt-frontend-simple-3.1.18.jar、cxf-...

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    org.apache.cxf.spring.remoting.Jsr181HandlerMapping.jar

    cxf.xml,cxf-servlet.xml,cxf-extension-soap.xml

    <import resource="classpath:META-INF/cxf/cxf.xml"/> <import resource="classpath:META-INF/cxf/cxf-extension-soap.xml"/> <import resource="classpath:META-INF/cxf/cxf-servlet.xml"/>

    apache-cxf-2.7.7.zip

    Apache CXF是一个开源的Java框架,它主要用于构建和开发Web服务。这个"apache-cxf-2.7.7.zip"压缩包包含了CXF框架的2.7.7版本,这是一个在2013年发布的稳定版本。CXF是Apache软件基金会的项目,它集成了多种Web服务...

    [免费]xercesImpl-2_9_1.jar-CSDN下载

    s.addLocation(StaxUtils.java:1038) at org.apache.cxf.staxutils.StaxUtils.startElement(StaxUtils.java:893) at org.apache.cxf.staxutils.StaxUtils.readDocElements(StaxUtils.java:965) at org.apache.cxf....

    apache-cxf2.7.rar

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(SOA)和Web服务。这个"apache-cxf2.7.rar"压缩包包含了Apache CXF 2.7.2版本的相关文件,该版本在当时是一个稳定且广泛使用的版本。在解压后,...

    cxf配置rest时,报错需要的包

    CXF restful的许多异常java.lang.NoClassDefFoundError: javax/ws/rs/MessageProcessingException.需要javax.ws.rs-api-2.0-m10.jar

    cxf2.7.1.jar全量包

    CXF 2.7.1 全量包是一款基于Java的开源服务框架,它主要用于构建和部署Web服务。CXF这个名字来源于"Confusing eXtensible Framework"的缩写,随着时间的发展,它已经成为了功能丰富的服务框架,为开发人员提供了一...

    抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java

    在使用Idea根据wsdl自动生成java code的时候;抛出无法找到主类:org.apache.axis.wsdl.WSDL2Java(Throws Could not find main class: org.apache.axis.wsdl.WSDL2Java)。 添加本文的jar包压缩包解压出来的所有jar包...

    CXF实现SSL安全验证

    xmlns:http="http://cxf.apache.org/transports/http/configuration" xmlns:jaxws="http://cxf.apache.org/jaxws" xsi:schemaLocation=" http://cxf.apache.org/configuration/security ...

    cxf html.rar

    1. **Apache CXF**:Apache CXF是一个开源的Java框架,用于构建和服务导向架构(SOA)应用程序。它支持多种Web服务标准,如JAX-WS和JAX-RS,使得开发者能够创建和消费Web服务。 2. **JAX-WS**:Java API for XML ...

    cxf3.1.2.zip

    标题中的"cxf3.1.2.zip"是一个包含Apache CXF 3.1.2版本的库文件集合,主要用于Java开发中的Spring-CXF Web服务。Apache CXF是一个开源框架,它提供了一种创建Web服务以及消费Web服务的方式,支持多种协议和标准,...

    apache-cxf-2.7.10.jar

    Apache CXF是一个开源的Java框架,它主要用于构建和开发服务导向架构(Service-Oriented Architecture, SOA)和Web服务。"apache-cxf-2.7.10.jar"是Apache CXF的一个版本库,包含了CXF框架的核心功能组件。在2.7.10...

Global site tag (gtag.js) - Google Analytics