I got this today, too. I had several different versions of the same jar
file in the classpath. After removing all duplicates, it was okay.
I don't know if it was wsdl4j or axis itself, but it was just a problem
with duplicate classes in the classpath.
hope this helps
Peter Len schrieb:
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