I do remember having some difficulty with NoClassDefFoundErrors on Weblogic 7, but not 
sure if it will help resolve your problem.

Anyway, the following works for me on WLS7.

EAR file contains WAR file.
WAR file contains Axis jars in WEB-INF/lib folder.
All my "application" classes are in WEB-INF/classes. I think at some stage I had these 
in WEB-INF/lib as a Jar file but that's when I had the error. If my recollection is 
right, then that does sound like a classloader bug (though not necessarily an Axis 
one), but I didn't investigate thoroughly enough to be sure.

Hope this helps
Keith


-----Original Message-----
From: J.P. Leibundguth [mailto:[EMAIL PROTECTED]
Sent: 13 February 2004 21:08
To: [EMAIL PROTECTED]
Subject: Axis + Weblogic 8.1sp2: Custom Deserialization Problem


I have a set of set of custom ser/deser/factory
classes configured against an EJB that work so far in
this scenerio:

MyObject getObject(String guid);

As long as Axis executes the serializer on the server
and the deserializer in my standalone test program it
works fine.  As a note, my deserializers are using
MethodTarget to handle the conventional fields and I
have a subclass that handles array-to-collection
transforms to meet my interface, which is mostly java
collections-based.

When I go the other direction, executing the
deserializer on the server [truncated]:

setObject(MyObject);

I get the following exception:

java.lang.NoClassDefFoundError:
org.apache.axis.encoding.Target
        at
java.lang.ClassLoader.defineClass(Ljava.lang.String;[BIILjava.security.ProtectionDomain;)Ljav
a.lang.Class;(Unknown Source)
        at
java.security.SecureClassLoader.defineClass(Ljava.lang.String;[BIILjava.security.CodeSource;)
Ljava.lang.Class;(SecureClassLoader.java:123)
        at
weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Ljava.lang.String;)Ljava.lang.C
lass;(GenericClassLoader.java:476)
        at
weblogic.utils.classloaders.GenericClassLoader.findClass(Ljava.lang.String;)Ljava.lang.Class;
(GenericClassLoader.java:181)

I'm running this as a webapp on WLS 8.1.  The webapp
(WAR) is embedded in a .ear file, which contains all
fo the Axis JARs too.  I reference them in a META-INF
classpath, which usually works OK.  Since this
problem, I've also tried copying them to /WEB-INF/lib,
extracting them to WEB-INF/classes, adding axis.jar to
the WLS classpath, putting axis.jar in the JRE /ext
directory and lots of combinations of the above.  I
also tried removing all of the META-INF directories
and files in the axis-related JARs as suggested for
deployment on the 6.1 platform for good measure.  You
name it, I've tried it.  I suspect the problem has to
do with class visibility/resolution between Axis and
Weblogic classloaders, but those details are pretty
opaque to me at this stage and I don't know the proper
init hooks to intercept the problem, and say, tie
together or redirect the classloader chain or
something.  Has anyone experienced a similar problem?

Thanks!
J.P. Leibundguth
Houston Associates, Inc.

Reply via email to