This document provides configuration information required for your Application Server to run Apache Axis2 to its fullest potential.
Send your feedback or questions to: firstname.lastname@example.org. ( Subscription details are available on the Axis2 site.) Kindly prefix subject with [Axis2].
1. Use exploded configuration to deploy Axis2 WAR
We recommend using the exploded configuration to deploy Axis2 WAR in WebLogic and WebSphere application servers to support the hotupdate/ hotdeployment features in Axis2. However, if you do want to deploy custom WARs, say in a clustering environment, you need to add two additional files into the WEB-INF named "services.list" and "modules.list" under the modules and services directory respectively.
WebLogic ships with JARs that conflict with JARs present in Axis2. Therefore use <prefer-web-inf-classes> to ensure that JARs packaged in Axis2 WAR are picked up from WEB-INF/lib. You can do this by setting the <prefer-web-inf-classes> element in WEB-INF/weblogic.xml to true. An example of weblogic.xml is shown below:
<weblogic-web-app> <container-descriptor> <prefer-web-inf-classes>true</prefer-web-inf-classes> </container-descriptor> </weblogic-web-app>
If set to true, the <prefer-web-inf-classes> element will force WebLogic's classloader to load classes located in the WEB-INF directory of a Web application in preference to application or system classes. This is a recommended approach since it only impacts a single Web module.
Please refer to the following documents in WebLogic/ WebSphere for more information:
2. Lack of namespacing on serialised items
BEA WebLogic Server 9.0 comes with its own StAX implementation. This results in lack of namespacing on serialised items. In turn, WeLogic server (WLS) breaks with AXIOM on the WLS classpath. Hence a filtering classloader is required:
Adding the following to weblogic-application.xml should resolve the issue:
<prefer-application-packages> <package-name>com.ctc.wstx.*</package-name> <package-name>javax.xml.*</package-name> <package-name>org.apache.*</package-name> </prefer-application-packages>
Note that the classes - Xerces, StAX API, Woodstox need to be on the application classpath