Exception org.apache.xml.serialize.XML11Serializer overrides final method

While trying to run ODE with WebLogic, I got the following exception.

 

A) <[weblogic.servlet.int

ernal.WebAppServletContext@10c1fd1 – appName: ‘ode’, name: ‘ode’, context-path:

‘/ode’] Root cause of ServletException.

java.lang.VerifyError: class org.apache.xml.serialize.XML11Serializer overrides

final method ?.?

        at java.lang.ClassLoader.defineClass1(Native Method)

        at java.lang.ClassLoader.defineClass(ClassLoader.java:620)

        at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:12

4)

        at weblogic.utils.classloaders.GenericClassLoader.defineClass(GenericCla

ssLoader.java:355)

        at weblogic.utils.classloaders.GenericClassLoader.findLocalClass(Generic

ClassLoader.java:294)

        Truncated. see log file for complete stacktrace

 

This is not complete stack trace but I have just given the top of exception description. This is a good example of class loading problem. Actually XML11Serializer class is in ‘xercesImpl-2.9.0.jar’ in ODE. This class file conflicts with one in WebLogic. To resolve this issue, other then changing some small application level configuration, I have Created weblogic.xml with ‘<prefer-web-inf-classes>true</prefer-web-inf-classes>’ entry and put

it in ode/web-inf/ directory.  This fixed the problem for me. ‘prefer-web-inf-classes’ element (a sub-element of the <container-descriptor> element), by default is set to False. Setting this element to True subverts the classloader delegation model so that class definitions from the Web application are loaded in preference to class definitions in higher-level classloaders. This allows a Web application to use its own version of a third-party class, which might also be part of WebLogic Server. If you want to read more about this you can go to this link. Since I have used WL 9.2, it’s a link for docs92. You can change it to 81 or 100 for WL 8.1 and 10.0 respectively.

Advertisements

Leave a comment

Filed under WebLogic

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s