You are viewing a plain text version of this content. The canonical link for it is here.
Posted to java-user@axis.apache.org by Rory <ro...@unixism.org> on 2005/03/31 16:49:13 UTC

possible causes of IncompatibleClassChangeError

I am using axis to provide a soap service within another application.  
It does this by calling an instance of org.mortbay.jetty.Server and 
handing it the war file.

On my desktop (WinXPSP2, jdk1.5.0_01) this works fine and a test client 
is able to use the service.

On a Linux system (trustix2.1) the same setup works as well (still using 
winxp to run the client).

On a second (virtually identical) Linux box it fails with the following 
exception.   I've done my best to ensure that all the dependencies are 
the same on both linux boxes (including saaj which I've seen other 
postings about).   I'm relatively new to both SOAP and Axis:

java.lang.IncompatibleClassChangeError
        at 
org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1387)
        at 
org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:118)
        at 
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083)
        at 
org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
        at 
org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown 
Source)
        at 
org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
Source)
        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source)
        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
        at 
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226)
        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
        at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279)
        at 
org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
        at 
org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301)
        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
        at 
org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
        at 
org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294)
        at 
org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
        at 
org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525)
        at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
        at org.mortbay.http.HttpServer.service(HttpServer.java:879)
        at org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
        at 
org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
        at 
org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)


Re: possible causes of IncompatibleClassChangeError

Posted by Rory <ro...@unixism.org>.
Yeah, I saw that in the archives.  However the only versions of axis and 
saaj jars present on any of these test systems is 1.2 (that includes in 
lib dirs, war files etc etc).   Could this also be causes by a xerces 
conflict?

Jeff Greif wrote:

> Out-of-date saaj.jar.  Check your class path to make sure that the 
> saaj.jar found is the one which came with your axis tree.
>
> See the archives of this mailing list for more info.
>
> Jeff
>
> Rory wrote:
>
>> I am using axis to provide a soap service within another 
>> application.  It does this by calling an instance of 
>> org.mortbay.jetty.Server and handing it the war file.
>>
>> On my desktop (WinXPSP2, jdk1.5.0_01) this works fine and a test 
>> client is able to use the service.
>>
>> On a Linux system (trustix2.1) the same setup works as well (still 
>> using winxp to run the client).
>>
>> On a second (virtually identical) Linux box it fails with the 
>> following exception.   I've done my best to ensure that all the 
>> dependencies are the same on both linux boxes (including saaj which 
>> I've seen other postings about).   I'm relatively new to both SOAP 
>> and Axis:
>>
>> java.lang.IncompatibleClassChangeError
>>        at 
>> org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1387) 
>>
>>        at 
>> org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:118)
>>        at 
>> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) 
>>
>>        at 
>> org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>>        at 
>> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown 
>> Source)
>>        at 
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown 
>> Source)
>>        at 
>> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
>> Source)
>>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
>> Source)
>>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
>> Source)
>>        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>>        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
>> Source)
>>        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
>>        at 
>> org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) 
>>
>>        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
>>        at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
>>        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279)
>>        at 
>> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>>        at 
>> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301) 
>>
>>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>>        at 
>> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>>        at 
>> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) 
>>
>>        at 
>> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>>        at 
>> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) 
>>
>>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>>        at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>>        at 
>> org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
>>        at 
>> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
>>        at 
>> org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
>>        at 
>> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218) 
>>
>>        at 
>> org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
>>        at 
>> org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
>>
>


Re: possible causes of IncompatibleClassChangeError

Posted by Jeff Greif <jg...@alumni.princeton.edu>.
Out-of-date saaj.jar.  Check your class path to make sure that the 
saaj.jar found is the one which came with your axis tree.

See the archives of this mailing list for more info.

Jeff

Rory wrote:

> I am using axis to provide a soap service within another application.  
> It does this by calling an instance of org.mortbay.jetty.Server and 
> handing it the war file.
>
> On my desktop (WinXPSP2, jdk1.5.0_01) this works fine and a test 
> client is able to use the service.
>
> On a Linux system (trustix2.1) the same setup works as well (still 
> using winxp to run the client).
>
> On a second (virtually identical) Linux box it fails with the 
> following exception.   I've done my best to ensure that all the 
> dependencies are the same on both linux boxes (including saaj which 
> I've seen other postings about).   I'm relatively new to both SOAP and 
> Axis:
>
> java.lang.IncompatibleClassChangeError
>        at 
> org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1387) 
>
>        at 
> org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:118)
>        at 
> org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1083) 
>
>        at 
> org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source)
>        at 
> org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanEndElement(Unknown 
> Source)
>        at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(Unknown 
> Source)
>        at 
> org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown 
> Source)
>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> Source)
>        at org.apache.xerces.parsers.XML11Configuration.parse(Unknown 
> Source)
>        at org.apache.xerces.parsers.XMLParser.parse(Unknown Source)
>        at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown 
> Source)
>        at javax.xml.parsers.SAXParser.parse(SAXParser.java:375)
>        at 
> org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:226) 
>
>        at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:645)
>        at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
>        at org.apache.axis.server.AxisServer.invoke(AxisServer.java:279)
>        at 
> org.apache.axis.transport.http.AxisServlet.doPost(AxisServlet.java:653)
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:760)
>        at 
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:301) 
>
>        at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
>        at 
> org.mortbay.jetty.servlet.ServletHolder.handle(ServletHolder.java:358)
>        at 
> org.mortbay.jetty.servlet.WebApplicationHandler.dispatch(WebApplicationHandler.java:294) 
>
>        at 
> org.mortbay.jetty.servlet.ServletHandler.handle(ServletHandler.java:567)
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1807)
>        at 
> org.mortbay.jetty.servlet.WebApplicationContext.handle(WebApplicationContext.java:525) 
>
>        at org.mortbay.http.HttpContext.handle(HttpContext.java:1757)
>        at org.mortbay.http.HttpServer.service(HttpServer.java:879)
>        at 
> org.mortbay.http.HttpConnection.service(HttpConnection.java:790)
>        at 
> org.mortbay.http.HttpConnection.handleNext(HttpConnection.java:961)
>        at org.mortbay.http.HttpConnection.handle(HttpConnection.java:807)
>        at 
> org.mortbay.http.SocketListener.handleConnection(SocketListener.java:218)
>        at org.mortbay.util.ThreadedServer.handle(ThreadedServer.java:300)
>        at org.mortbay.util.ThreadPool$PoolThread.run(ThreadPool.java:511)
>