Author: veithen Date: Tue Jun 21 21:42:32 2011 New Revision: 1138203 URL: http://svn.apache.org/viewvc?rev=1138203&view=rev Log: AXIS2-4917: Added documentation explaining how to deploy Axis2 on WebSphere, especially WAS 7.0.
Modified: axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml Modified: axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml URL: http://svn.apache.org/viewvc/axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml?rev=1138203&r1=1138202&r2=1138203&view=diff ============================================================================== --- axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml (original) +++ axis/axis2/java/core/trunk/src/site/xdoc/docs/app_server.xml Tue Jun 21 21:42:32 2011 @@ -28,10 +28,10 @@ <p>This document provides configuration information required for your Application Server to run Apache Axis2 to its fullest potential.</p> - <section name="WebLogic/ WebSphere"> + <section name="WebLogic"> <subsection name="Use exploded configuration to deploy Axis2 WAR"> <p>We recommend using the exploded configuration to deploy Axis2 - WAR in WebLogic and WebSphere application servers to support the + WAR in WebLogic application server to support the hotupdate/ hotdeployment features in Axis2. However, if you 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 @@ -62,7 +62,7 @@ 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.</p> - <p>Please refer to the following documents in WebLogic/ WebSphere + <p>Please refer to the following documents in WebLogic for more information:</p> <ul> <li><a href= @@ -72,9 +72,6 @@ <li><a href= "http://e-docs.bea.com/wls/docs81/webapp/deployment.html">Redeploying a Web Application in Exploded Directory Format</a></li> - <li><a href= - "http://publib.boulder.ibm.com/infocenter/wsiihelp/v8r3/index.jsp?topic=/com.ibm.websphere.ii.product.ce.doc/configuring/iiyviigdepwebexpl.htm"> - Deploying the Web application in exploded form</a></li> </ul> </subsection> <subsection name="Lack of namespacing on serialised items"> @@ -95,5 +92,52 @@ to be on the application classpath.</p> </subsection> </section> + <section name="WebSphere"> + <subsection name="Avoiding conflicts with WebSphere's JAX-WS runtime"> + <p> + The JAX-WS runtime in WebSphere Application Server is based on a modified version of Axis2 and these + classes are visible to application class loaders. This means that when deploying + a standard version of Axis2 on WAS 7.0 (and WAS 6.1 with the Web Services feature pack installed), + special configuration is required to avoid conflicts with the Axis2 classes used internally by WebSphere. + In particular it is necessary to change the class loader policy of the Web module to parent last. However, + this is not sufficient because Axis2 creates additional class loaders for modules and services, and + these use parent first class loading by default. Therefore, two things must be done to make a standard + Axis2 distribution work with WebSphere: + </p> + <ol> + <li> + Before deploying the Axis2 WAR, edit the <tt>axis2.xml</tt> file and set the + <tt>EnableChildFirstClassLoading</tt> parameter to <tt>true</tt>. + Please note that this parameter is only supported in Axis2 1.5.5 or higher. + </li> + <li> + After deployment, modify the application configuration to enable parent last class loading + for the Web module: in the WebSphere admin console, go the the configuration page for + the enterprise application, click on <em>Manage Modules</em> and locate the WAR containing + Axis2 (in the default WAR distribution, the module is called <em>Apache-Axis2</em>), then + change the <em>Class loader order</em> option to <em>Classes loaded with local class + loader first (parent last)</em>. Note that the class loader policy for the enterprise + application itself (which can be specified under <em>Class loading and update detection</em>) + is irrelevant, unless a custom EAR distribution is used that includes the Axis2 libraries + in the EAR instead of the WAR. + </li> + </ol> + </subsection> + <subsection name="Deploying services and modules"> + <p> + By default (i.e. if the <em>Distribute application</em> option has not been disabled explicitly) + WebSphere will deploy the application in exploded form. The standard location for these files is + in the <tt>installedApps</tt> subdirectory in the WebSphere profile directory. This means that AAR + and MAR files can simply be deployed by dropping them into the corresponding folders. In this + scenario, hot deployment is supported and there is no need to update the <tt>services.list</tt> + and <tt>modules.list</tt> files. + </p> + <p> + However, the directory is still under control of WebSphere and manually deployed AAR and MAR files + will be removed e.g. when the application is upgraded. It may therefore be a good idea to configure + Axis2 to use a repository location outside of the <tt>installedApps</tt> directory. + </p> + </subsection> + </section> </body> </document>