Codehaus XFire

Documentation

Quicklinks

Developers

Sponsors

In WebLogic 9.2 a new feature called Filtering Classloader (documented in the WebLogic server documentation) has been implemented. This feature should be used to get XFire running on WebLogic 9.2+. This requires one to package the application as an EAR file (Enterprise Application Archive).

What needs to be done is to put the following statement into weblogic-application.xml:

<prefer-application-packages>
  <package-name>javax.jws.*</package-name>
</prefer-application-packages>

Resulting in a weblogic-application.xml that will look somewhat like the following:

<?xml version="1.0" encoding="UTF-8"?>
  <weblogic-application xmlns="http://www.bea.com/ns/weblogic/90">
    <application-param>
      <param-name>webapp.encoding.default</param-name>
      <param-value>UTF-8</param-value>
    </application-param>
    <prefer-application-packages>
      <package-name>javax.jws.*</package-name>
    </prefer-application-packages>
</weblogic-application>

This fixes the problem, as you are now using a Filtering Classloader, which is set up to load everything from the System Classloader, but the JSR-181 packages, as they should be loaded from the Application Classloader (the javax.jws.* packages).
You can control everything else the same way (XML Parsers etc. if you like).

This has been validated on both WebLogic 9.2 and 9.2.1.