You have an inconsistency or incompatibility between the xerces, saaj
and axis jars. If all of these come from the normal distribution of
axis, the problem will likely go away. Presumably this is a classpath
problem -- an old version of one of these jars is being found with new
versions of the others.
This problem has been discussed before in this mailing list. Looking at
the archives might provide more detail.
Jeff
Peter Len wrote:
Hello,
We are trying to upgrade from Axis 1.1 to Axis 1.2. The service that
is running has the new Axis 1.2 libraries and the new WSDL2Java
objects (using the 1.2 libraries) have been built, compiled, and
installed. When I try to make a web service call, however, I get an
IncompatibleClassChangeError. Part of the stack trace is below:
INFO [14:07:07] (AxisServlet.java:logException:400) - Exception:
java.lang.IncompatibleClassChangeError
at
org.apache.axis.message.MessageElement.addTextNode(MessageElement.java:1387)
at
org.apache.axis.message.SOAPHandler.addTextNode(SOAPHandler.java:148)
at
org.apache.axis.message.SOAPHandler.endElement(SOAPHandler.java:112)
at
org.apache.axis.encoding.DeserializationContext.endElement(DeserializationContext.java:1087)
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(Unknown Source)
at
org.apache.axis.encoding.DeserializationContext.parse(DeserializationContext.java:227)
at org.apache.axis.SOAPPart.getAsSOAPEnvelope(SOAPPart.java:696)
at org.apache.axis.Message.getSOAPEnvelope(Message.java:424)
at
mil.dia.nces.security.validators.WSSecSignatureValidator.validate(WSSecSignatureValidator.java:117)
at
mil.dia.nces.security.util.NCESMessageValidator.validate(NCESMessageValidator.java:251)
at
mil.dia.nces.security.axis.handler.NCESBasicHandler.validate(NCESBasicHandler.java:259)
at
mil.dia.nces.security.axis.handler.NCESServerHandler.requestFlow(NCESServerHandler.java:99)
at
mil.dia.nces.security.axis.handler.NCESServerHandler.invoke(NCESServerHandler.java:59)
at
org.apache.axis.strategies.InvocationStrategy.visit(InvocationStrategy.java:32).........................................
Something that is wierd is that when I call a bogus service under the
webapp that Axis is running I still get the IncompatibleClassChangeError:
https://myserver:8445/onto-ws/services/NotAService
When I call an older version (Axis 1.1) that does not throw the
IncompatibleClassChangeError and call the bogus service I get the
typical error:
The AXIS engine could not find a target service to invoke!
That makes me think that is whatever is causing this
IncompatibleClassChangeError is happening before the service is
called. I don't know the Axis routing so I am unsure where to look.
It seems that the WSDL (via
http://myserver:8090/onto-ws/services/Post2Ontology?wsdl) looks fine
and the service seemed to load properly via the server-config.wsdd
file. I also verified that I don't have multiple axis JAR files.
Does anyone have a thought on this type of error?
Thanks - Peter Len