tomj 2002/11/07 14:50:59 Modified: java/src/org/apache/axis/i18n resource.properties java/src/org/apache/axis/utils/bytecode ClassReader.java Log: Fix a problem reported by Ed Snible [[EMAIL PROTECTED]] I discovered the problem trying to deploy in AXIS a "dynamic proxy class" (a class created by java.lang.reflect.Proxy.getProxyClass()). ClassReader.getBytes() throws a null pointer exception if Class.getResourceAsStream() returns null -- not an IOException. ParamNameExtractor.getParameterNamesFromDebugInfo() only expects to catch IOException. Thus, the comment is wrong: the parameter names can't be read, but the method throws an exception rather than returning null. Revision Changes Path 1.27 +1 -0 xml-axis/java/src/org/apache/axis/i18n/resource.properties Index: resource.properties =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/i18n/resource.properties,v retrieving revision 1.26 retrieving revision 1.27 diff -u -r1.26 -r1.27 --- resource.properties 4 Nov 2002 17:01:28 -0000 1.26 +++ resource.properties 7 Nov 2002 22:50:58 -0000 1.27 @@ -1068,3 +1068,4 @@ badLanguage00=Invalid language noContainerForAnonymousType=makeTypeElement() was told to create a type "{0}", with no containing element +cantLoadByecode=Unable to load bytecode for class "{0}" 1.6 +4 -1 xml-axis/java/src/org/apache/axis/utils/bytecode/ClassReader.java Index: ClassReader.java =================================================================== RCS file: /home/cvs/xml-axis/java/src/org/apache/axis/utils/bytecode/ClassReader.java,v retrieving revision 1.5 retrieving revision 1.6 diff -u -r1.5 -r1.6 --- ClassReader.java 18 Sep 2002 16:10:43 -0000 1.5 +++ ClassReader.java 7 Nov 2002 22:50:59 -0000 1.6 @@ -55,7 +55,6 @@ package org.apache.axis.utils.bytecode; -import org.apache.axis.utils.JavaUtils; import org.apache.axis.utils.Messages; import java.io.ByteArrayInputStream; @@ -119,6 +118,10 @@ */ protected static byte[] getBytes(Class c) throws IOException { InputStream fin = c.getResourceAsStream('/' + c.getName().replace('.', '/') + ".class"); + if (fin == null) { + throw new IOException( + Messages.getMessage("cantLoadByecode", c.getName())); + } try { ByteArrayOutputStream out = new ByteArrayOutputStream(); byte[] buf = new byte[1024];