You are viewing a plain text version of this content. The canonical link for it is here.
Posted to axis-cvs@ws.apache.org by ng...@apache.org on 2007/12/17 20:01:09 UTC
svn commit: r604967 -
/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
Author: ngallardo
Date: Mon Dec 17 11:01:09 2007
New Revision: 604967
URL: http://svn.apache.org/viewvc?rev=604967&view=rev
Log:
If we don't get a URLClassLoader immediately, check and see if there's a nested one that we can use.
Modified:
webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
Modified: webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java
URL: http://svn.apache.org/viewvc/webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java?rev=604967&r1=604966&r2=604967&view=diff
==============================================================================
--- webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java (original)
+++ webservices/axis2/trunk/java/modules/metadata/src/org/apache/axis2/jaxws/util/WSDL4JWrapper.java Mon Dec 17 11:01:09 2007
@@ -206,14 +206,43 @@
URLClassLoader urlLoader = (URLClassLoader)classLoader;
url = getURLFromJAR(urlLoader, wsdlURL);
}
+ else {
+ URLClassLoader nestedLoader = (URLClassLoader) getNestedClassLoader(URLClassLoader.class, classLoader);
+ if (nestedLoader != null) {
+ url = getURLFromJAR(nestedLoader, wsdlURL);
+ }
+ }
}
return url;
}
- private URL getURLFromJAR(URLClassLoader urlLoader, URL relativeURL) {
+
+ private ClassLoader getNestedClassLoader(Class type, ClassLoader root) {
+ if (log.isDebugEnabled()) {
+ log.debug("Searching for nested URLClassLoader");
+ }
+ while (!(root instanceof URLClassLoader)) {
+ if (root == null) {
+ break;
+ }
+
+ root = root.getParent();
+ if (log.isDebugEnabled() && root != null) {
+ log.debug("Checking parent ClassLoader: " + root.getClass().getName());
+ }
+ }
- URL[] urlList = null;
+ return root;
+ }
+
+ private URL getURLFromJAR(URLClassLoader urlLoader, URL relativeURL) {
+ URL[] urlList = null;
ResourceFinderFactory rff =(ResourceFinderFactory)MetadataFactoryRegistry.getFactory(ResourceFinderFactory.class);
- ResourceFinder cf = rff.getResourceFinder();
+ ResourceFinder cf = rff.getResourceFinder();
+ if (log.isDebugEnabled()) {
+ log.debug("ResourceFinderFactory: " + rff.getClass().getName());
+ log.debug("ResourceFinder: " + cf.getClass().getName());
+ }
+
urlList = cf.getURLs(urlLoader);
if(urlList == null){
if(log.isDebugEnabled()){
---------------------------------------------------------------------
To unsubscribe, e-mail: axis-cvs-unsubscribe@ws.apache.org
For additional commands, e-mail: axis-cvs-help@ws.apache.org