The attached patch addresses a problem with JavaProvider where if a class is not found while generating the WSDL, the NoClassDefFoundError makes it all the way out to the servlet engine. Instead, an AxisFault should be generated that contains the message from the NoClassDefFoundError. I also fixed a few debug statements.
Dave Dunkin
Index: JavaProvider.java =================================================================== RCS file: /home/cvspublic/xml-axis/java/src/org/apache/axis/providers/java/JavaProvider.java,v retrieving revision 1.42 diff -u -r1.42 JavaProvider.java --- JavaProvider.java 6 Mar 2002 23:39:17 -0000 1.42 +++ JavaProvider.java 14 Mar 2002 02:54:17 -0000 @@ -273,7 +273,7 @@ */ public void generateWSDL(MessageContext msgContext) throws AxisFault { if (log.isDebugEnabled()) - log.debug(JavaUtils.getMessage("enter00", "JavaProvider::editWSDL (" + this + ")")); + log.debug(JavaUtils.getMessage("enter00", "JavaProvider::generateWSDL (" ++ this + ")")); /* Find the service we're invoking so we can grab it's options */ /***************************************************************/ @@ -327,8 +327,12 @@ msgContext.setProperty("WSDL", doc); } catch (Exception e) { throw AxisFault.makeFault(e); + } catch (NoClassDefFoundError e) { + throw new AxisFault(e.toString(), e); } + if (log.isDebugEnabled()) + log.debug(JavaUtils.getMessage("exit00", "JavaProvider::generateWSDL (" + +this + ")")); } private String getAllowedMethods(Handler service)