Author: ffang
Date: Wed Feb  8 02:54:48 2012
New Revision: 1241750

URL: http://svn.apache.org/viewvc?rev=1241750&view=rev
Log:
[SMX4-1089]saaj-api couldn't load configured javax.xml.soap.MetaFactory from 
saaj-impl

Modified:
    
servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java

Modified: 
servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
URL: 
http://svn.apache.org/viewvc/servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java?rev=1241750&r1=1241749&r2=1241750&view=diff
==============================================================================
--- 
servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
 (original)
+++ 
servicemix/smx4/specs/trunk/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
 Wed Feb  8 02:54:48 2012
@@ -83,7 +83,14 @@ class FactoryFinder {
                        String defaultFactoryClassName) throws SOAPException {
         try {
             // If we are deployed into an OSGi environment, leverage it
-            Class factoryClass = 
FactoryFinder.class.getClassLoader().loadClass(factoryPropertyName);
+            String factoryClassName = factoryPropertyName;
+            if (factoryPropertyName.equals("javax.xml.soap.MetaFactory")) {
+                //this is an exception that the factoryPropertyName isn't
+                //the actual factory class name, there is no class
+                //javax.xml.soap.MetaFactory at all
+                factoryClassName = "javax.xml.soap.SAAJMetaFactory";
+            }
+            Class factoryClass = 
FactoryFinder.class.getClassLoader().loadClass(factoryClassName);
             Class spiClass = 
org.apache.servicemix.specs.locator.OsgiLocator.locate(factoryClass, 
factoryPropertyName);
             if (spiClass != null) {
                 return spiClass.newInstance();


Reply via email to