I'm setting up a Windows 7 development box running IBM WebSphere 8.5 (64-bit), IBM 1.7 JDK (64-bit). I have installed the ColdFusion 11 ear (11,0,03,292480) file, but when I try register a web services in the ColdFusion Adminstrator using both Web Service Version 1 or 2 I get the following error.
Error 500: java.lang.UnsupportedClassVersionError: JVMCFRE003 bad major version; class="com"/sun/tools/javac/Main, offset=6
From what I have read online (Java Errors: “UnsupportedClassVersionError…bad major version at offset=x” - The Altogether) the "java.lang.UnsupportedClassVersionError:" and "bad major version" mean that the project was compiled with a higher level Java compiler than the runtime can support. I am running the IBM 1.7 JDK, when I do a version check (java.exe -version) in the bin directory it says it is based on Oracle 7u13-b08. I have read ColdFusion 11 supports Java 1.7 so I am not sure what the problem is.
Problem solved! I found the following documentation: Installing the JEE Configuration - Enable web services
To enable web services, copy the tools.jar file from Java home that WebSphere uses to the cfusion/lib directory.
I'm not completly sure why I needed to do this as everything worked fine in ColdFusion 9, WebSphere 7 IBM, IBM 1.6 JDK. There must be a biggest enough difference between the IBM 1.7 JDK/SDK and Oracle/Sun 1.7 JDK/SDK.
The manifest information in the tools.jar packaged with ColdFusion 11 says:
Created-By: 1.7.0_07 (Oracle Corporation)
As where the manifest information from the tools.jar I copyied in was:
Ant-Version: Apache Ant 1.7.1
Created-By: 1.7.0 (IBM Corporation)
I renamed the old file to tools.jar.bk-non-ibm as it is important not to have a file with a ".jar" extention that has the same class path inside of it or it will get loaded by the JVM.