You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@servicemix.apache.org by dk...@apache.org on 2012/09/28 20:29:14 UTC

svn commit: r1391583 - /servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java

Author: dkulp
Date: Fri Sep 28 18:29:14 2012
New Revision: 1391583

URL: http://svn.apache.org/viewvc?rev=1391583&view=rev
Log:
[CXF-1253] Fix NPE in jaxws API when stuck in lib/endorsed

Modified:
    servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java

Modified: servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java
URL: http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java?rev=1391583&r1=1391582&r2=1391583&view=diff
==============================================================================
--- servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java (original)
+++ servicemix/smx4/specs/trunk/jaxws-api-2.2/src/main/java/javax/xml/ws/spi/FactoryFinder.java Fri Sep 28 18:29:14 2012
@@ -171,12 +171,18 @@ class FactoryFinder {
                     ClassLoader classLoader = findClassLoader();
                     try {
                         // If we are deployed into an OSGi environment, leverage it
-                        Class factoryClass = FactoryFinder.class.getClassLoader().loadClass(iFactoryId);
+                        Class factoryClass = null;
+                        if (FactoryFinder.class.getClassLoader() != null) {
+                            factoryClass = FactoryFinder.class.getClassLoader().loadClass(iFactoryId);
+                        } else {
+                            factoryClass = Class.forName(iFactoryId);
+                        }
                         Class spiClass = org.apache.servicemix.specs.locator.OsgiLocator.locate(factoryClass, iFactoryId);
                         if (spiClass != null) {
                             return spiClass.newInstance();
                         }
                      } catch (Throwable e) {
+                        if (debug) e.printStackTrace();
                      }
 
                     try {