is your drools jar in you aar? or in WEB-INF/lib? -- dims
On 1/14/07, Paul O'Connor <[EMAIL PROTECTED]> wrote:
I have a Axis2 web service that evaluates services requests with Drools. It works fine under Axis2 version 1.0. Migrating to Axis2 v. 1.1 (or 1.1.1) breaks the service with what appears to be a classloader issue with the deployment classloader. I have created a simple test case to demonstrate: Called from my skeleton service method, the following code segment tries to reconstitute a Drools rule package from the file system: // load the class that we are told next can't be found Class clazz = Class.forName("org.drools.spi.Consequence", true, this.getClass().getClassLoader()); // output snied status message... System.out.println("CLASS THAT CAN'T BE FOUND IN NEXT OPERATION: " + clazz.getCanonicalName() + " CL: " + clazz.getClassLoader() + "/n"); // try to reconstitute a Drools Package from file org.drools.rule.Package pack = null; try { FileInputStream fis = new FileInputStream("c:\\package.drl"); ObjectInputStream objStream = new ObjectInputStream(fis); pack = (Package)objStream.readObject(); } catch (Exception e) { System.out.println("Could not load Drools Package: "); e.printStackTrace(); } //add the package to a rulebase (deploy the rule package). RuleBase ruleBase = RuleBaseFactory.newRuleBase(); ruleBase.addPackage( pack ); return ruleBase; Under Axis2 1.1 (& 1.1.1), this is the result of calling the service method: CLASS THAT CAN'T BE FOUND IN NEXT OPERATION: org.drools.spi.Consequence CL: org. [EMAIL PROTECTED]/n java.lang.NoClassDefFoundError: org/drools/spi/Consequence at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClass(ClassLoader.java:620) at java.lang.ClassLoader.defineClass(ClassLoader.java:465) at org.drools.rule.PackageCompilationData$PackageClassLoader.fastFindCla ss(Unknown Source) at org.drools.rule.PackageCompilationData$PackageClassLoader.loadClass(U nknown Source) at java.lang.ClassLoader.loadClass(ClassLoader.java:251) at org.drools.common.ObjectInputStreamWithLoader.resolveClass(Unknown So urce) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:154 3) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1465) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1 698) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304) at java.io.ObjectInputStream.defaultReadFields(ObjectInputStream.java:19 17) at java.io.ObjectInputStream.readSerialData(ObjectInputStream.java:1841) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1 718) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1304) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:349) Thanks in advance for any assistance! --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Davanum Srinivas : http://www.wso2.net (Oxygen for Web Service Developers) --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]