My findings on the inability for my own OpenBD 1.2 war installation to invoke web services:
As oft noted elsewhere, the absence of a file "tools.jar" will cause an error containing the phrase: "java.lang.NoClassDefFoundError: sun/tools/javac/Main". In OpenBD's case, this is when a web service is used (a cffunction in a cfc file which has an access value of "remote"). The WSDL xml component of the service will generate correctly, but the actual method call will break. This is apparently because OpenBD may be called on to compile Java "on the fly" to invoke or vend web services, and many OpenBD packages lack Sun's "tools.jar" compiler. Since the file is already part of the prerequisite Java package, the fix is often to copy tools.jar from the correct Java path over to the correct OpenBD path.* Because folks have installed their OpenBD packages in many ways, the correct source file and "destination path" for tools.jar can be hard to nail down. There is general agreement that it's best to look within the collection of Java files which represent the actual version tomcat/OpenBD is actually using to run; there should be a tools.jar file there under the lib directory. There is also agreement to insure one has the complete Java Development Kit (jdk) installed and not just the runtime (jre) files. As to the file's destination, I have results which vary. Some say that anywhere within the already-defined CLASSPATH is OK. But when I placed the tools.jar within the openbd/WEB-INF/lib directory I started to get errors containing the phrases "Invalid service locator generated" and "the class loader() and the class loader() have different Class objects for the type com/newatlanta/wstypes/StructMap used in the signature". For my application, I had to place the tools.jar file within the directory .../tomcat/lib for the web services to work.* Note that frequent tomcat restarts are mandatory to test the results of each change you make. Check each error message for any change in cause. * At the time of this writing, this "tools.jar fix" may not work on OpenBD created with the 1.1 or 1.2 versions of the Installer script. There may be a path bug which then causes a complaint to surface that the file "webservices.jar does not exist". I hope this will help those who travel down this thread in the future. Alan K. Holden -- Open BlueDragon Public Mailing List http://www.openbluedragon.org/ http://twitter.com/OpenBlueDragon mailing list - http://groups.google.com/group/openbd?hl=en !! save a network - please trim replies before posting !!
