Apache Axis2 WAR Distribution modifications
The Axis2 WAR is the primary component of the BMC Atrium Web Application Archive and has the following modifications:
- WEB-INF/web.xml — Modified to remove access to the Axis2 Administration Console that the BMC Atrium WAR does not use.
<servlet>element for AxisAdminServlet has been commented out.
<servlet-mapping>element for AxisAdminServlet has been commented out.
- WEB-INF/conf/axis2.xml — Modified to fit the wanted operational configuration for BMC Atrium Web Services
- The userName and password parameters have been commented out. With the WEB-INF/web.xml changes, these parameters are not necessary.
- The hotupdate parameter changed from false to true. This change supports the ability to deploy this archive, the parameter for which (hotdeploy) is already enabled in the axis2.xml file. The combination of these two allow repackaging and redeploying the BMC Atrium WAR programmatically without the need to restart the Tomcat server.
- The sendStacktraceDetailsWithFaults and DrillDownToRootCauseForFaultReason parameters both changed from false to true. These changes enable detailed stack traces accompanying faults to be sent with the SOAP fault responses at runtime.
- The disableREST and disableSOAP12 parameters changed from false to true. BMC Atrium Web Services does not support Axis2's REST option to send and receive responses without the SOAP envelope, and only SOAP 1.1 is currently supported in SOAP requests and responses.
- The existing HTTP transportReceiver is replaced with a transportReceiver declaration absent a declaration for the HTTP port. Additionally, an HTTPS transportReceiver is added absent a declaration for the HTTPS port. Both of these are mapped to the AxisServlet class. These sections indicate that the BMC Atrium WAR depends on the Tomcat configured connectors.
- New security phases (BMCPreSecurityPhase and BMCPostSecurityPhase) are added to both the InFlow and OutFlow phaseOrder declarations. BMCPreSecurityPhase is added directly before the Security phase of both phaseOrder declarations, and BMCPostSecurityPhase is added directly after the Security phase of both phaseOrder declarations. These new phases position execution of BMC-authored security modules to process messages before and after the Rampart-based security modules handle the incoming and outgoing secured SOAP messages.
- A new custom phase (BMCPrerequisitesPhase) is added to the InFlow phaseOrder declaration immediately before the BMCPreSecurityPhase. The BMCAtriumWSPrerequisiteChecker custom module uses BMCPrerequisitesPhase to order the prerequisite checks before security phases are encountered.