jax-ws + tomcat 5.5 where (local server + jdk 1.6 = works) but (dev server + jdk 1.5 = does not work)

StackOverflow https://stackoverflow.com/questions/22100564

Question

I have a web service working in my local test environment but not on a development server.

My local test environment characteristics:

  • JDK 1.6 is installed on my machine but the JDK compliance is 1.5 (specified in MyEclipse project)
  • Tomcat 5.5

My development server environment characteristics:

  • JDK 1.5
  • Tomcat 5.5

I do not have any control over upgrading Tomcat on the development server. Is there a solution for the exception below? The jax-ws ri jar files that I downloaded are version 2.2.8 which were built using JDK 1.6 (I checked a manifest file). Is this the reason for this problem? How can I workaround it? Is there an earlier version of jax-ws ri jar files that were built on JDK 1.5?

Any ideas would be appreciated.

I am getting the following exception when I try to start my application in Tomcat on the development server:

Feb 28, 2014 10:55:29 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Error configuring application listener of class com.sun.xml.ws.transport.http.servlet.WSServletContextListener
java.lang.UnsupportedClassVersionError: Bad version number in .class file
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1319)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1181)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3617)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4104)
at org.apache.catalina.manager.ManagerServlet.start(ManagerServlet.java:1175)
at org.apache.catalina.manager.HTMLManagerServlet.start(HTMLManagerServlet.java:510)
at org.apache.catalina.manager.HTMLManagerServlet.doGet(HTMLManagerServlet.java:104)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:689)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:482)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856)
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.processConnection(Http11Protocol.java:744)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Unknown Source)
Feb 28, 2014 10:55:29 AM org.apache.catalina.core.StandardContext listenerStart
SEVERE: Skipped installing application listeners due to previous error(s)
Was it helpful?

Solution

The problem is that the Java Virtual Machine attempts to read a class file and determines that the major and minor version numbers in the file are not supported, is higher than the installed version of the JVM.

Change the version to JAX-WS 2.2.5. This version was compiled with 1.5.0_16-b02.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top