No implementation defined for org.apache.commons.logging.LogFactory
May 3rd, 2007 by Leons PetrazickisWhile writing a DB2 stored procedure that invoked a SOAP/WSDL web service using Apache Axis as part of WSIF, I ran into this doozie:
No implementation defined for org.apache.commons.logging.LogFactory
Ultimately, it’s caused by a too restrictive lib/security/java.policy file that ships with DB2.
Wrong Solution
The standard way to define an implementation is to create the following commons-logging.properties file and place it anywhere in your CLASSPATH (such as the root of a JAR file):
#org.apache.commons.logging.LogFactory = org.apache.commons.logging.impl.LogFactoryImpl
# SimpleLog
#org.apache.commons.logging.Log = org.apache.commons.logging.impl.SimpleLog
# JDK 1.4 logger
#org.apache.commons.logging.Log = org.apache.commons.logging.impl.Jdk14Logger
# Avalon Toolkit
#org.apache.commons.logging.Log = org.apache.commons.logging.impl.LogKitLogger
# Log4j (Recommended by Axis)
org.apache.commons.logging.Log = org.apache.commons.logging.impl.Log4JLogger
Alternatively, you can set the org.apache.commons.logging.Log configuration attribute for LogFactory programmatically.
Right Solution
Solution: Running an Axis SOAP client in Domino [or DB2]
My DB2 is installed into C:\Program Files\IBM\SQLLIB
1. Copy all your JARs to C:\Program Files\IBM\SQLLIB\java\jdk\jre\lib\ext
2. Open C:\Program Files\IBM\SQLLIB\java\jdk\jre\lib\security\
3. Open java.policy
4. Add:
5. Restart DB2
Posted in java |




August 3rd, 2007 at 12:18
Thank you very much for this, many people are having this problem, but indeed nowhere else have been the correct solution published.