cxf-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Alton Idowu (JIRA)" <j...@apache.org>
Subject [jira] Created: (CXF-1596) DynamicClientFactory.setupClasspath throws a null pointer exception if classloader does not contain jars
Date Mon, 19 May 2008 17:11:55 GMT
DynamicClientFactory.setupClasspath throws a null pointer exception if classloader does not
contain jars
--------------------------------------------------------------------------------------------------------

                 Key: CXF-1596
                 URL: https://issues.apache.org/jira/browse/CXF-1596
             Project: CXF
          Issue Type: Bug
          Components: JAXB Databinding
    Affects Versions: 2.1
         Environment: Websphere 6.1.0.7, jdk 1.5.09, Solaris
            Reporter: Alton Idowu


On WAS, one of the ExtClassCloader returns a null instead of an empty array when getUrls is
called.

Stack trace:
Caused by: java.lang.RuntimeException: java.lang.NullPointerException
        at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:215)
        at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:150)
        at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:129)
        at mil.af.ilss.common.service.WebServiceUtil.invokeWebService(WebServiceUtil.java:43)
        ... 1 more
Caused by: java.lang.NullPointerException
        at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.setupClasspath(DynamicClientFactory.java:404)
        at org.apache.cxf.endpoint.dynamic.DynamicClientFactory.createClient(DynamicClientFactory.java:213)

The following is the list of classloaders in order:
     com.ibm.ws.classloader.CompoundClassLoader           Delegation Mode: PARENT_FIRST
     com.ibm.ws.classloader.JarClassLoader                          Delegation mode: PARENT_LAST
     com.ibm.ws.classloader.ProtectionClassLoader 
     com.ibm.ws.bootstrap.ExtClassLoader


The following code should fix the issue.   setupClasspath method line 402:

            if (tcl instanceof URLClassLoader) {
                URL[] urls = ((URLClassLoader)tcl).getURLs();
                if (urls != null) {
	                for (URL url : urls) {
	                    if (url.getProtocol().startsWith("file")) {
	                        File file; 
	                        try { 
	                            file = new File(url.toURI().getPath()); 
	                        } catch (URISyntaxException urise) { 
	                            file = new File(url.getPath()); 
	                        } 
	
	                        if (file.exists()) { 
	                            classPath.append(file.getAbsolutePath()) 
	                                .append(System 
	                                        .getProperty("path.separator")); 
	
	                            if (file.getName().endsWith(".jar")) { 
	                                addClasspathFromManifest(classPath, file); 
	                            }                         
	                        }     
	                    }
	                }
                }
            }


-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


Mime
View raw message