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.