users@jaxb.java.net

IncompatibleClassChangeError When Creating Unmarshaller

From: Dwayne Burns <dwayne_burns_at_AGILENT.COM>
Date: Tue, 24 Jun 2003 13:36:22 -0600

I am new to JAXB and have a lot to learn about it. I am trying to create an Unmarshaller within my Servlet's DoGet method however everytime it executes I get an IncompatibleClassChangeError. I am using Oracle9iAS as my servlet container and have included both the bgm.ser and jaxb.properties files in my classpath also my code is compiled using jwsdp-1.2.

 Here's the code followed by the exception. Can some clue me in as to what's going on?

  public void doPost(HttpServletRequest request, HttpServletResponse response)
 {
   .
   .
   .
     try
     {
       ObjectFactory of = new ObjectFactory();
       JAXBContext jc = ObjectFactory.newInstance("agilent.dev.ne",
                           this.getClass().getClassLoader());
       Unmarshaller um = jc.createUnmarshaller();
     }
     catch (JAXBException je)
     {
       je.printStackTrace();
     }

 The Error:
 java.lang.IncompatibleClassChangeError: Implementing class
     at java.lang.ClassLoader.defineClass0(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.defineClass(ContextClassLoader.java:1102)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.findClass(ContextClassLoader.java:360)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.loadClass(ContextClassLoader.java:135)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
     at java.lang.ClassLoader.defineClass0(Native Method)
     at java.lang.ClassLoader.defineClass(ClassLoader.java:502)
     at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:123)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.defineClass(ContextClassLoader.java:1102)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.findClass(ContextClassLoader.java:360)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:299)
     at com.evermind[Oracle9iAS (9.0.3.0.0) Containers for J2EE].naming.ContextClassLoader.loadClass(ContextClassLoader.java:135)
     at java.lang.ClassLoader.loadClass(ClassLoader.java:255)
     at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:315)
     at com.dab.impl.runtime.DefaultJAXBContextImpl.createUnmarshaller(DefaultJAXBContextImpl.java:118)
     at demo.myServlet.doPost(myServlet.java:82)

 Again thanks for your help!

Dwayne Burns