[SMX4-1089]saaj-api couldn't load configured javax.xml.soap.MetaFactory from saaj-impl
git-svn-id: https://svn.apache.org/repos/asf/servicemix/smx4/specs/trunk@1241750 13f79535-47bb-0310-9956-ffa450edef68
diff --git a/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java b/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
index acaaba3..02147c5 100644
--- a/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
+++ b/saaj-api-1.3/src/main/java/javax/xml/soap/FactoryFinder.java
@@ -83,7 +83,14 @@
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();