Hey,
I did exactly as Jeff said and it fixed that particular error and it
appeared to be a version conflict. I then tried to get the service to take a
String and throw it back at me and it did but when I tried to implement the
origional service I had that processed the String I got this error. I ran the
backend code with the same input data and it returned a String as ecpected.
HTTP/1.1 500 Internal Server Error
Set-Cookie: JSESSIONID=B087344C80A5696CF4FCC460312362AC; Path=/axis
Content-Type: text/xml;charset=utf-8
Date: Wed, 01 Jun 2005 16:36:32 GMT
Server: Apache-Coyote/1.1
Connection: close
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<soapenv:Body>
<soapenv:Fault>
<faultcode>soapenv:Server.userException</faultcode>
<faultstring>java.lang.reflect.InvocationTargetException</faultstring>
<detail>
<ns1:hostname
xmlns:ns1="http://xml.apache.org/axis/">taylorjw</ns1:hostname>
</detail>
</soapenv:Fault>
</soapenv:Body></soapenv:Envelope>
Quoting Jeff <[EMAIL PROTECTED]>:
> James, the IncompatibleClassChangeError indicates that class A is trying to
> access class B but the class B that it finds is a different version to that
> against which class A was compiled, i.e. the interface that class B exposes
> is incompatible with that which class A expects. Since this happened in Axis
> code, I guessed that you might have two versions of Axis on the classpath.
> This is not necessarily the case though: classpath issues are flies in the
> Java ointment and cause so much trouble for Java programmers that we will
> all be glad after we migrate to a version of Java that eliminates classpath
> problems or to an entirely better language.
>
> Here's what I suggest:
>
> - Check out what's in:
> C:\Program Files\Apache\jakarta-tomcat-4.1.31\common\lib
> C:\Program Files\Apache\jakarta-tomcat-4.1.31\common\endorsed
> C:\Program Files\Apache\jakarta-tomcat-4.1.31\shared\lib
> to see if there are any versions if axis.jar or xerces.jar and, if so,
> make sure they are the same versions as those in:
> C:\Program
> Files\Apache\jakarta-tomcat-4.1.31\webapps\axis\WEB-INF\lib
> or, even better, eliminate the duplicates.
>
> - Undeploy your web service and reboot your host computer.
>
> - Ensure that the version of Axis that you build against is the same as
> the version in C:\Program
> Files\Apache\jakarta-tomcat-4.1.31\webapps\axis\WEB-INF\lib (better still,
> point to this path to build).
>
> - Do a full rebuild on your web service.
>
> - Copy the new build to C:\Program
> Files\Apache\jakarta-tomcat-4.1.31\webapps\axis\WEB-INF\classes (or ...\lib
> if you product a JAR file).
>
> - Redeploy the service and test.
>
>
> Jeff
>
>
>
> ----- Original Message -----
> From: "James Taylor" <[EMAIL PROTECTED]>
> To: "Jeff" <[EMAIL PROTECTED]>
> Sent: Wednesday, June 01, 2005 9:25 AM
> Subject: Re: suggestion on fixing error
>
>
> Hi Jeff thanks for your reply,
> surely the different versions of axis.jar
> should
> only be in TOMCAT_HOME\common\lib or in TOMCAT_HOME\webapps\axis\WEB-INF\lib
> and all other of axis.jar are not visible if they are not set in the
> classpath?
> The reason I'm saying this is that I have a backup of axis on my system
> but
> I have no classpath env set.
> This is a listing of TOMCAT_HOME\common\lib -
> Directory of C:\Program Files\Apache\jakarta-tomcat-4.1.31\common\lib
>
> 01/06/2005 11:55 <DIR> .
> 01/06/2005 11:55 <DIR> ..
> 25/09/2004 12:34 54,829 activation.jar
> 16/07/2004 09:53 999,966 ant.jar
> 25/09/2004 12:34 8,412 ant-launcher.jar
> 25/09/2004 12:34 14,544 catalina-ant.jar
> 25/09/2004 12:34 165,119 commons-collections.jar
> 25/09/2004 12:34 100,776 commons-dbcp-1.1.jar
> 25/09/2004 12:34 22,327 commons-logging-api.jar
> 25/09/2004 12:34 39,523 commons-pool-1.1.jar
> 25/09/2004 12:34 181,624 jasper-compiler.jar
> 25/09/2004 12:34 72,417 jasper-runtime.jar
> 25/09/2004 12:34 6,727 jdbc2_0-stdext.jar
> 25/09/2004 12:34 98,496 jndi.jar
> 25/09/2004 12:34 8,639 jta.jar
> 25/09/2004 12:34 327,603 mail.jar
> 14/04/2005 22:44 409,191 mysql-connector-java-3.1.8-bin.jar
> 25/09/2004 12:34 27,986 naming-common.jar
> 25/09/2004 12:34 17,946 naming-factory.jar
> 25/09/2004 12:34 38,407 naming-resources.jar
> 25/09/2004 12:34 77,987 servlet.jar
> 19 File(s) 2,672,519 bytes
> 2 Dir(s) 13,274,218,496 bytes free
>
> and here is a listing of TOMCAT_HOME\webapps\axis\WEB-INF\lib -
>
> Directory of C:\Program
> Files\Apache\jakarta-tomcat-4.1.31\webapps\axis\WEB-INF
> \lib
>
> 01/06/2005 14:11 <DIR> .
> 01/06/2005 14:11 <DIR> ..
> 16/11/2004 13:02 1,400,426 axis.jar
> 16/11/2004 13:02 30,082 axis-ant.jar
> 16/11/2004 13:02 74,527 commons-discovery.jar
> 16/11/2004 13:02 31,605 commons-logging.jar
> 01/06/2005 14:08 6,264 flightservice.jar
> 17/10/2001 16:58 23,317 jaxm.jar
> 16/11/2004 13:02 31,191 jaxrpc.jar
> 16/11/2004 13:02 352,668 log4j-1.2.8.jar
> 16/11/2004 13:02 18,978 saaj.jar
> 29/03/2005 13:45 27,479 saaj-api.jar
> 29/03/2005 13:45 559,095 saaj-impl.jar
> 16/11/2004 13:02 120,280 wsdl4j.jar
> 20/02/2004 13:47 997,276 xalan.jar
> 16/05/2005 16:29 1,016,979 xerces.jar
> 20/02/2004 13:47 124,724 xml-apis.jar
> 15 File(s) 4,814,891 bytes
> 2 Dir(s) 13,274,218,496 bytes free
>
>
> and this is what my env variable look like -
>
> C:\Program Files\Apache\jakarta-tomcat-4.1.31\webapps\axis\WEB-INF\lib>set
> ALLUSERSPROFILE=C:\Documents and Settings\All Users
> ANT_HOME=C:\Program Files\Apache\apache-ant-1.6.2
> APPDATA=C:\Documents and Settings\taylorjw\Application Data
> CATALINA_HOME=C:\Program Files\Apache\jakarta-tomcat-4.1.31
> CommonProgramFiles=C:\Program Files\Common Files
> COMPUTERNAME=
> ComSpec=C:\WINDOWS\system32\cmd.exe
> FP_NO_HOST_CHECK=NO
> HOMEDRIVE=S:
> HOMEPATH=\
> HOMESHARE=\\ntserver-quota\studentt\taylorjw
> JAVA_HOME=C:\Program Files\Java\jdk1.5.0_01
> LOGONSERVER=\\WINAD06
> NUMBER_OF_PROCESSORS=1
> OS=Windows_NT
> Path=C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\system32\WBEM;C:\Program
> Files\Ja
> va\jdk1.5.0_01\bin;C:\Program
> Files\Apache\jakarta-tomcat-4.1.31\bin;C:\Program
> Files\Apache\apache-ant-1.6.2\bin;C:\Program Files\Dos
> Tools\Fport-2.0;C:\Progra
> m Files\mysql\mysql-4.1.12-win32\bin;
> PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH
> PROCESSOR_ARCHITECTURE=x86
> PROCESSOR_IDENTIFIER=x86 Family 6 Model 10 Stepping 0, AuthenticAMD
> PROCESSOR_LEVEL=6
> PROCESSOR_REVISION=0a00
> ProgramFiles=C:\Program Files
> PROMPT=$P$G
> SESSIONNAME=Console
> SystemDrive=C:
> SystemRoot=C:\WINDOWS
> TEMP=C:\DOCUME~1\taylorjw\LOCALS~1\Temp
> TMP=C:\DOCUME~1\taylorjw\LOCALS~1\Temp
> USERDNSDOMAIN=
> USERDOMAIN=
> USERNAME=taylorjw
> USERPROFILE=C:\Documents and Settings\taylorjw
> windir=C:\WINDOWS
>
> hope that helps you in some way Jeff.
>
> ======================================================
> Reply to:
>
> It looks like there could be different versions of Axis competing for the
> attention of Xerces on its classpath. Search for all occurrences of axis.jar
> and try to eliminate all but the one in .../webapps/axis/WEB-INF/lib
>
> Jeff
>
>
> ----- Original Message -----
> From: "James Taylor" <[EMAIL PROTECTED]>
> To: <[email protected]>
> Sent: Wednesday, June 01, 2005 7:06 AM
> Subject: suggestions on fixing error?
>
>
> I'm getting this annoying error back from an axis deployed web service and
> would
> like to hear any suggestions people have to find out what's causing it
>
> HTTP/1.1 500 Internal Server Error
> Content-Type: text/html;charset=ISO-8859-1
> Content-Language: en-IE
> Date: Wed, 01 Jun 2005 11:00:36 GMT
> Server: Apache-Coyote/1.1
> Connection: close
>
> <html>
> <head>
> <title>Apache Tomcat/4.1.31 - Error report</title>
> <STYLE>
> <!--H1{font-family : sans-serif,Arial,Tahoma;color :
> white;background-color : #0086b2;} H3{font-family :
> sans-serif,Arial,Tahoma;color : white;background-color : #0086b2;}
> BODY{font-family : sans-serif,Arial,Tahoma;color : black;background-color :
> white;} B{color : white;background-color : #0086b2;} HR{color : #0086b2;}
> --></STYLE>
> </head>
> <body>
> <h1>HTTP Status 500 - </h1>
> <HR size="1" noshade="noshade">
> <p>
> <b>type</b> Exception report
> </p>
> <p>
> <b>message</b>
> <u></u>
> </p>
> <p>
> <b>description</b>
> <u>The server encountered an internal error () that prevented
> it
> from fulfilling this request.</u>
> </p>
> <p>
> <b>exception</b>
> <pre>javax.servlet.ServletException: Servlet execution threw
> an
> exception at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:222) at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:146) at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:209) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:144) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133
> ) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596) at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:118) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:594) at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116
> ) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:594) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :127) at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596) at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at
> org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948) at
> org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152) at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
> ction(Http11Protocol.java:705) at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:683) at
> java.lang.Thread.run(Thread.java:595)</pre>
> </p>
> <p>
> <b>root cause</b>
>
>
> <pre>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(DeserializationCo
> ntext.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$FragmentContentDispatc
> her.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.DTDConfiguration.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: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:716)
> at
> org.apache.axis.transport.http.AxisServletBase.service(AxisServletBase.java:
> 301)
> at javax.servlet.http.HttpServlet.service(HttpServlet.java:809)
> at
> org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Application
> FilterChain.java:200)
> at
> org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterCh
> ain.java:146)
> at
> org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.ja
> va:209)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at
> org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.ja
> va:144)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at
> org.apache.catalina.core.StandardContext.invoke(StandardContext.java:2358)
> at
> org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:133
> )
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596)
> at
> org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherValve.
> java:118)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:594)
> at
> org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:116
> )
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:594)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at
> org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java
> :127)
> at
> org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.invok
> eNext(StandardPipeline.java:596)
> at
> org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:433)
> at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:948)
> at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:152)
> at
> org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:799)
> at
> org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConne
> ction(Http11Protocol.java:705)
> at
> org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:577)
> at
> org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.jav
> a:683)
> at java.lang.Thread.run(Thread.java:595)
> </pre>
> </p>
> <HR size="1" noshade="noshade">
> <h3>Apache Tomcat/4.1.31</h3>
> </body>
> </html>
>
> --
> Between the question and the answer lies free will
>
>
--
Between the question and the answer lies free will