Author: sandakith Date: Mon Jan 7 19:04:09 2008 New Revision: 609855 URL: http://svn.apache.org/viewvc?rev=609855&view=rev Log: Fixing Axis2 3429, jaxws aar based class loading issue. Now it was assign to axisService Class Loader. Include checks on classLoader for null pointer exceptions
Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/metadata/registry/MetadataFactoryRegistry.java Modified: webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java?rev=609855&r1=609854&r2=609855&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java (original) +++ webservices/axis2/trunk/java/modules/jaxws/src/org/apache/axis2/jaxws/message/impl/XMLPartBase.java Mon Jan 7 19:04:09 2008 @@ -152,8 +152,9 @@ // Okay } else if (qName.getNamespaceURI().equals(SOAP12Constants.SOAP_ENVELOPE_NAMESPACE_URI)) { - throw ExceptionFactory. - makeWebServiceException(Messages.getMessage("restWithSOAPErr")); + // throw ExceptionFactory. + // makeWebServiceException(Messages.getMessage("restWithSOAPErr")); + // Okey } else { content = _createSpine(Protocol.rest, Style.DOCUMENT, 0, root); contentType = SPINE; Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java?rev=609855&r1=609854&r2=609855&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java (original) +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/builder/DescriptionBuilderUtils.java Mon Jan 7 19:04:09 2008 @@ -330,7 +330,7 @@ //Use the thread context class loader to load the class. try { returnClass = ClassLoaderUtils.forName(classToLoad, false, - ClassLoaderUtils.getContextClassLoader()); + ClassLoaderUtils.getContextClassLoader(null)); } catch (Throwable ex) { //Use the default classloader to load the class. Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java?rev=609855&r1=609854&r2=609855&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java (original) +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/description/impl/EndpointDescriptionImpl.java Mon Jan 7 19:04:09 2008 @@ -570,7 +570,7 @@ try { // TODO: Using Class forName() is probably not the best long-term way to get the SEI class from the annotation seiClass = ClassLoaderUtils.forName(seiClassName, false, - ClassLoaderUtils.getContextClassLoader()); + ClassLoaderUtils.getContextClassLoader(this.axisService != null ? this.axisService.getClassLoader() : null)); // Catch Throwable as ClassLoader can throw an NoClassDefFoundError that // does not extend Exception, so lets catch everything that extends Throwable // rather than just Exception. Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java?rev=609855&r1=609854&r2=609855&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java (original) +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/ClassLoaderUtils.java Mon Jan 7 19:04:09 2008 @@ -56,13 +56,13 @@ } /** @return ClassLoader */ - public static ClassLoader getContextClassLoader() { - ClassLoader cl = null; + public static ClassLoader getContextClassLoader(final ClassLoader classLoader) { + ClassLoader cl; try { cl = (ClassLoader)AccessController.doPrivileged( new PrivilegedExceptionAction() { public Object run() throws ClassNotFoundException { - return Thread.currentThread().getContextClassLoader(); + return classLoader != null ? classLoader : Thread.currentThread().getContextClassLoader(); } } ); Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/metadata/registry/MetadataFactoryRegistry.java URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/metadata/registry/MetadataFactoryRegistry.java?rev=609855&r1=609854&r2=609855&view=diff ============================================================================== --- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/metadata/registry/MetadataFactoryRegistry.java (original) +++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/metadata/registry/MetadataFactoryRegistry.java Mon Jan 7 19:04:09 2008 @@ -90,7 +90,7 @@ private static void loadConfigFromFile() { String pairSeparator = "|"; try { - ClassLoader classLoader = ClassLoaderUtils.getContextClassLoader(); + ClassLoader classLoader = ClassLoaderUtils.getContextClassLoader(null); URL url = null; url = classLoader.getResource(configurationFileLoc); if(url == null) { --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]