---
title: IBM WebSphere Liberty
description: To deploy AM in IBM WebSphere Liberty, perform the following steps:
component: pingam
version: 8.1
page_id: pingam:installation:prepare-ibm-websphere
canonical_url: https://docs.pingidentity.com/pingam/8.1/installation/prepare-ibm-websphere.html
keywords: ["Install", "Web Container"]
page_aliases: ["install-guide:prepare-ibm-websphere.adoc"]
section_ids:
  prep-openam-for-websphere: Prepare AM for WebSphere
  prep-websphere-for-am: Prepare WebSphere
---

# IBM WebSphere Liberty

To deploy AM in IBM WebSphere Liberty, perform the following steps:

1. Update the JVM options as described in [Prepare the Java environment](prepare-java.html).

2. Customize the `AM-8.1.0.war` file as described in [Prepare AM for WebSphere](#prep-openam-for-websphere).

3. After deploying AM, configure WebSphere as described in [Prepare WebSphere](#prep-websphere-for-am).

## Prepare AM for WebSphere

To prepare AM to run in WebSphere, change the AM `.war` file to ensure that the AM upgrade process is able to find the AM configuration files. You must make this change whenever you deploy a new `.war` file as part of an AM upgrade.

|   |                                                                                                          |
| - | -------------------------------------------------------------------------------------------------------- |
|   | If you are installing on Windows, use slashes (`/`) in the paths listed here, and not backslashes (`\`). |

1. Create a temporary directory and expand the `AM-8.1.0.war` file. For example:

   ```bash
   $ cd /tmp
   $ mkdir /tmp/am && cd /tmp/am
   $ jar xvf ~/Downloads/AM-8.1.0.war
   ```

2. Locate the `bootstrap.properties` file in the `WEB-INF/classes` directory of the expanded `war` file.

   Update the `# configuration.dir=` line in the `bootstrap.properties` file to specify a path with read and write permissions. For example:

   ```properties
   # This property should also be used when the system user that
   # is running the web/application server process does not have
   # a home directory. i.e. System.getProperty("user.home") returns
   # null.

   configuration.dir=/my/readwrite/config/dir
   ```

3. Rebuild the `AM-8.1.0.war` file:

   ```bash
   $ jar cvf ../AM-8.1.0.war *
   ```

## Prepare WebSphere

In addition to preparing the AM `.war` file, follow these steps to configure WebSphere for AM *after you deploy AM into WebSphere*:

1. Load classes from AM bundled libraries before loading classes from libraries delivered with Liberty:

   * In the WebSphere Liberty administration console, go to Explore > Configure > server.xml.

   * Select the `am` web application, click Add Child, and select Classloader from the list.

   * In the Delegation field, select parentLast.

   * Save your work.

2. If your environment uses SOAP, add the SOAP-related properties to the JVM.

   In the `AM-config-dir`, create a file named `jvm.options`, and add the following properties:

   ```none
   -Djavax.xml.soap.MessageFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPMessageFactory1_1Impl
   -Djavax.xml.soap.SOAPFactory=com.sun.xml.internal.messaging.saaj.soap.ver1_1.SOAPFactory1_1Impl
   -Djavax.xml.soap.SOAPConnectionFactory=com.sun.xml.internal.messaging.saaj.client.p2p.HttpSOAPConnectionFactory
   -Djavax.xml.soap.MetaFactory=com.sun.xml.internal.messaging.saaj.soap.SAAJMetaFactoryImpl
   -Dcom.ibm.websphere.webservices.DisableIBMJAXWSEngine=true
   ```
