Axis 1.4 bundle issues with commons logging
I am using the axis 1.4 bundle from the spring source enterprise bundle repository and when using it I receive an exception :
Caused by: java.lang.ExceptionInInitializerError
at org.apache.axis.handlers.BasicHandler.<clinit>(Bas icHandler.java:43)
at org.apache.axis.client.Service.getAxisClient(Servi ce.java:104)
at org.apache.axis.client.Service.<init>(Service.java :113)
at ---.<init>(---.java:12)
at ---.afterPropertiesSet(---.java:23)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.invokeInitMethods(Abstr actAutowireCapableBeanFactory.java:1369)
at org.springframework.beans.factory.support.Abstract AutowireCapableBeanFactory.initializeBean(Abstract AutowireCapableBeanFactory.java:1335)
... 17 more
Caused by: org.apache.commons.discovery.DiscoveryException: No implementation defined for org.apache.commons.logging.LogFactory
at org.apache.commons.discovery.tools.ClassUtils.veri fyAncestory(ClassUtils.java:131)
at org.apache.commons.discovery.tools.SPInterface.ver ifyAncestory(SPInterface.java:156)
at org.apache.commons.discovery.tools.SPInterface.new Instance(SPInterface.java:150)
at org.apache.commons.discovery.tools.DiscoverClass.n ewInstance(DiscoverClass.java:534)
at org.apache.commons.discovery.tools.DiscoverSinglet on.find(DiscoverSingleton.java:373)
at org.apache.commons.discovery.tools.DiscoverSinglet on.find(DiscoverSingleton.java:333)
at org.apache.axis.components.logger.LogFactory$1.run (LogFactory.java:45)
at java.security.AccessController.doPrivileged(Native Method)
at org.apache.axis.components.logger.LogFactory.getLo gFactory(LogFactory.java:41)
at org.apache.axis.components.logger.LogFactory.<clin it>(LogFactory.java:33)
... 24 more
I am pax runner to launch equinox with pax logging.
I am using these bundles (and others) from the spring source enterprise bundle repository :
org.apache.axis/com.springsource.org.apache.axis/1.4.0
org.apache.commons/com.springsource.org.apache.commons.discovery/0.4.0
I have also tried deploying commons logging 1.1.1 and setting the system property org.apache.commons.logging.LogFactory=org.apache.c ommons.logging.impl.SLF4JLogFactory. but the same error occurs.
pax-logging may be the culprit
I just filed this issue:
http://issues.ops4j.org/browse/PAXLOGGING-58
It appears that because pax-logging's LogFactory class's signature is slightly different commons-discovery clients (Axis 1.4 being one of them) cannot use pax-logging as a drop in replacement.