IBM Support

How to Fix WebSphere Application Server v8.5 After Upgrading to IBM i V7R3 OS

Troubleshooting


Problem

If steps were not taken PRIOR to the IBM i V7R3 upgrade to switch the JDK to 7.0 or later for your WebSphere Application Server (WAS) v8.5 environment, it will not function after the OS upgrade is completed. The environment is configured to use JDK 6.0 and this JDK is no longer available at IBM i V7R3. This document demonstrates what changes need to be made to allow your WAS v8.5 environment to function again.

Resolving The Problem

In order to determine how to resolve this issue, we first need to find what version of WebSphere Application Server v8.5 is installed on the system. We can run the following command from the IBM i command line to display the version (replace <edition> with either Express, Base or ND depending on what is installed):


  • EDTF '/qibm/proddata/websphere/appserver/v85/<edition>/properties/version/was.product'

What version is shown between the <version> </version> tags?

For example:

  • <?xml version="1.0" encoding="UTF-8"?>
    <!DOCTYPE product SYSTEM "product.dtd">
    <product name="IBM WebSphere Application Server - Express">
    <id>EXPRESS</id>
    <version>8.5.5.12</version> 
    <build-info
    date="6/27/17"
    level="cf121726.02"/>
    </product>

Depending on the version shown use one of the following sections:


IMPORTANT: Before you run the '_postfpexit' script, ensure the IBM i system value, QALWOBJRST, is set to *ALL. You can change the QALWOBJRST system value with the command, CHGSYSVAL SYSVAL(QALWOBJRST) VALUE(*ALL).

  • WebSphere 8.5.5.10 or Higher

    Select the edition installed and following the instructions listed:
    • Express

      1) On the IBM i command line type STRQSH

      2) Paste the following commands, press ENTER after each line:

      cd /QIBM/ProdData/WebSphere/AppServer/V85/Express/bin 
      
      ./_setupDefaultSDK 
      
      ./managesdk -enableProfileAll -sdkname  1.8_64 -enableServers 
      
      ./_postfpexit /QIBM/ProdData/WebSphere/AppServer/V85/Express 



      NOTE: -sdkname can be any of the following depending on which version of Java is installed on the system:
      • 1.7_32
        1.7_64
        1.7.1_32
        1.7.1_64
        1.8_32
        1.8_64
       

      3) You now can start your WebSphere environment and associated HTTP server.


    • Base

      1) On the IBM i command line type STRQSH

      2) Paste the following commands, press ENTER after each line:

       
      cd /QIBM/ProdData/WebSphere/AppServer/V85/Base/bin 
      
      ./_setupDefaultSDK 
      
      ./managesdk -enableProfileAll -sdkname  1.8_64 -enableServers 
      
      ./_postfpexit /QIBM/ProdData/WebSphere/AppServer/V85/Base 



      NOTE: -sdkname can be any of the following depending on which version of Java is installed on the system:

      1.7_32
      1.7_64
      1.7.1_32
      1.7.1_64
      1.8_32
      1.8_64

      3) You now can start your WebSphere environment and associated HTTP server.


    • ND

      1) On the IBM i command line type the following command:

      EDTF '/qibm/userdata/websphere/appserver/v85/ND/profileregistry/profileregistry.xml'

      One line has 'isDefault="true"' set, similar to the following:

      <?xml version="1.0" encoding="UTF-8"?><profiles>
      <profile isAReservationTicket="false" isDefault="true" name="DMGR" ...
      <profile isAReservationTicket="false" isDefault="false" name="MYNODE ...
      </profiles>

      Note the name of the server that has this flag, in the example it is DMGR.

      2) Next, run the following from the IBM i command line (replace <ProfileName> with the name jotted down from the previous step):

      EDTF '/qibm/userdata/websphere/appserver/v85/ND/profiles/<ProfileName>/bin/sdk/_setupSdk'

      Example:

      EDTF '/qibm/userdata/websphere/appserver/v85/ND/profiles/DMGR/bin/sdk/_setupSdk'

      3) You see a line similar to the following:


      PROFILE_COMMAND_SDK=1.6_32

      Change it to:

      PROFILE_COMMAND_SDK=1.7_32

      F3 twice to save and exit the file.

      4) On the IBM i command line type STRQSH

      5) Paste the following commands (replace Express with Base or ND to match the edition installed):

       
      cd /QIBM/ProdData/WebSphere/AppServer/V85/Express/bin 
      
      ./managesdk -setNewProfileDefault -sdkname  1.7_32 
      
      ./managesdk -setCommandDefault -sdkname  1.7_32 
      
      ./managesdk -enableProfileAll -sdkname  1.7_32 -enableServers     
      
      ./_postfpexit /QIBM/ProdData/WebSphere/AppServer/V85/Express

      NOTE: -sdkname can have the following set (1.8_x only available at '8.5.5.9' and higher):


      1.7_32
      1.7_64
      1.7.1_32
      1.7.1_64
      1.8_32
      1.8_64

      **********

      If you are in a federated environment you see that your DMGR successfully updates, but your federated nodes will not. You need to perform the following steps:

      A) We need to repeat step 2 for all federated nodes under '/qibm/userdata/websphere/appserver/v85/nd/profiles'.

      For example:

      EDTF '/qibm/userdata/websphere/appserver/v85/nd/profiles/MYNODE/bin/_setupSdk'

      B) After the nodes were changed we need to start our DMGR. On the IBM i command line type STRQSH. Type the following:

      cd /qibm/userdata/websphere/appserver/v85/nd/profiles/dmgr/bin
      
      startmanager

      C) After the DMGR is successfully started run the following commands from STRQSH:

      cd /qibm/proddata/websphere/appserver/v85/nd/bin
      
      ./managesdk -enableProfileAll -sdkname  1.7_32 -enableServers 


      You receive an indication that all profiles were updated. In order for these changes to take effect we need to synchronize the node now.

      D) In order to synchronize the node we first need to find the SOAP port for the DMGR. Run the following commands in STRQSH:
       
      cd /qibm/userdata/websphere/appserver/v85/nd/profiles/DMGR/bin 
      
      ./dspwasinst 


      Jot down the port number returned for 'SOAP_CONNECTOR_ADDRESS port'

      E) Now that we have the SOAP port number, synchronize the node by doing the following commands from STRQSH (replace <NodeName> with your Node Profile Name and 12345 with the SOAP connector port from the previous step):
       
      cd /qibm/userdata/websphere/appserver/v85/nd/profiles/<NodeName>/bin 
      
      syncnode loopback 12345 


      F) After the node is synchronized we now can start the Node Agent and the node by doing the following from STRQSH
       
      cd /qibm/userdata/websphere/appserver/v85/nd/profiles/<NodeName>/bin 
      
      startnode 
      
      startserver -profileName <NodeName>

      G) Now the DMGR, the Node Agent, and the node successfully start under the new JDK

  • WebSphere 8.5.5.9 or Lower

    Select the edition installed and following the instructions listed:
    • Express or Base

      1) On the IBM i command line type the following command (replace Express with Base depending on the edition installed):

      EDTF '/qibm/userdata/websphere/appserver/v85/express/profileregistry/profileregistry.xml'

      One line has 'isDefault="true"' set, similar to the following:

       
      <?xml version="1.0" encoding="UTF-8"?><profiles>
      <profile isAReservationTicket="false" isDefault="true" name="WAS85SVR1" ...
      <profile isAReservationTicket="false" isDefault="false" name="WAS85SVR2 ...
      </profiles>

      Note the name of the server that has this flag, in the example it is WAS85SVR1.

      2) Next, run the following from the IBM i command line (replace Express with Base, depending on the edition installed, and <ProfileName> with the name jotted down from the previous step):

      EDTF '/qibm/userdata/websphere/appserver/v85/express/profiles/<ProfileName>/bin/sdk/_setupSdk'

      Example:

      EDTF '/qibm/userdata/websphere/appserver/v85/express/profiles/WAS85SVR1/bin/sdk/_setupSdk'

      3) You see a line similar to the following:


      PROFILE_COMMAND_SDK=1.6_32

      Change it to:

      PROFILE_COMMAND_SDK=1.7_32

      F3 twice to save and exit the file.

      Then, repeat this process for the '/QIBM/ProdData/WebSphere/AppServer/V85/Express/properties/sdk/cmdDefaultSDK.properties' file.

      EDTF '/QIBM/ProdData/WebSphere/AppServer/V85/Express/properties/sdk/cmdDefaultSDK.properties'

      You see a line similar to the following:

      COMMAND_DEFAULT_SDK=1.6_32

      Change it to:

      COMMAND_DEFAULT_SDK=1.7_32

      F3 twice to save and exit the file.

      4) On the IBM i command line type STRQSH

      5) Paste the following commands (replace Express with Base to match the edition installed):

       
      cd /QIBM/ProdData/WebSphere/AppServer/V85/Express/bin 
      
      ./managesdk -setNewProfileDefault -sdkname  1.7_32 
      
      ./managesdk -setCommandDefault -sdkname  1.7_32 
      
      ./managesdk -enableProfileAll -sdkname  1.7_32 -enableServers     
      
      ./_postfpexit /QIBM/ProdData/WebSphere/AppServer/V85/Express

      NOTE: -sdkname can have the following set (1.8_x only available at '8.5.5.9' and higher):


      1.7_32
      1.7_64
      1.7.1_32
      1.7.1_64
      1.8_32
      1.8_64

      3) Now you can start your WebSphere environment and associated HTTP server.

    • ND

      1) On the IBM i command line type the following command:

      EDTF '/qibm/userdata/WebSphere/appserver/v85/ND/profileregistry/profileregistry.xml'

      One line has 'isDefault="true"' set, similar to the following:

       
      <?xml version="1.0" encoding="UTF-8"?><profiles>
      <profile isAReservationTicket="false" isDefault="true" name="DMGR" ...
      <profile isAReservationTicket="false" isDefault="false" name="MYNODE ...
      </profiles>

      Note the name of the server that has this flag, in the example it is DMGR.

      2) Next, run the following from the IBM i command line (replace <ProfileName> with the name jotted down from the previous step):

      EDTF '/qibm/userdata/WebSphere/appserver/v85/ND/profiles/<ProfileName>/bin/sdk/_setupSdk'

      Example:

      EDTF '/qibm/userdata/WebSphere/appserver/v85/ND/profiles/DMGR/bin/sdk/_setupSdk'

      3) You see a line similar to the following:


      PROFILE_COMMAND_SDK=1.6_32

      Change it to:

      PROFILE_COMMAND_SDK=1.7_32

      F3 twice to save and exit the file.

      Then, repeat this process for the '/QIBM/ProdData/WebSphere/AppServer/V85/Express/properties/sdk/cmdDefaultSDK.properties' file.

      EDTF '/QIBM/ProdData/WebSphere/AppServer/V85/Express/properties/sdk/cmdDefaultSDK.properties'

      You see a line similar to the following:

      COMMAND_DEFAULT_SDK=1.6_32

      Change it to:

      COMMAND_DEFAULT_SDK=1.7_32

      F3 twice to save and exit the file.

      4) On the IBM i command line type STRQSH

      5) Paste the following commands (replace Express with Base or ND to match the edition installed):

       
      cd /QIBM/ProdData/WebSphere/AppServer/V85/ND/bin 
      
      ./managesdk -setNewProfileDefault -sdkname  1.7_32 
      
      ./managesdk -setCommandDefault -sdkname  1.7_32 
      
      ./managesdk -enableProfileAll -sdkname  1.7_32 -enableServers     
      
      ./_postfpexit /QIBM/ProdData/WebSphere/AppServer/V85/ND/bin

      NOTE: -sdkname can have the following set (1.8_x only available at '8.5.5.9' and higher):


      1.7_32
      1.7_64
      1.7.1_32
      1.7.1_64
      1.8_32
      1.8_64

      **********

      If you are in a federated environment you see that your DMGR successfully updates, but your federated nodes will not. You need to perform the following steps:

      A) We need to repeat step 2 for all federated nodes under '/qibm/userdata/WebSphere/appserver/v85/nd/profiles'.

      For example:

      EDTF '/qibm/userdata/WebSphere/appserver/v85/nd/profiles/MYNODE/bin/_setupSdk'

      B) After the nodes were changed we need to start our DMGR. On the IBM i command line type STRQSH. Type the following:

      cd /qibm/userdata/WebSphere/appserver/v85/nd/profiles/dmgr/bin
      
      startmanager

      C) After the DMGR is successfully started run the following commands from STRQSH:

      cd /qibm/proddata/WebSphere/appserver/v85/nd/bin
      
      ./managesdk -enableProfileAll -sdkname  1.7_32 -enableServers 


      You receive an indication that all profiles were updated. In order for these changes to take effect we need to synchronize the node now.

      D) In order to synchronize the node we first need to find the SOAP port for the DMGR. Run the following commands in STRQSH:
       
      cd /qibm/userdata/WebSphere/appserver/v85/nd/profiles/DMGR/bin 
      
      ./dspwasinst 


      Jot down the port number returned for 'SOAP_CONNECTOR_ADDRESS port'

      E) Now that we have the SOAP port number, synchronize the node by doing the following commands from STRQSH (replace <NodeName> with your Node Profile Name and 12345 with the SOAP connector port from the previous step):
       
      cd /qibm/userdata/WebSphere/appserver/v85/nd/profiles/<NodeName>/bin 
      
      syncnode loopback 12345 


      F) After the node is synchronized we now can start the Node Agent and the node by doing the following from STRQSH
       
      cd /qibm/userdata/WebSphere/appserver/v85/nd/profiles/<NodeName>/bin 
      
      startnode 
      
      startserver -profileName <NodeName>

      G) Now the DMGR, the Node Agent, and the node successfully start under the new JDK



After the JDK version is updated for the WAS product and profles to JDK 7.0 or later, it is recommended that the latest fix pack for the IBM Installation Manager and WebSphere Application Server products be installed. At IBM i V7R3 it is recommended that we have WebSphere 8.5.5.10 or higher installed and Installation Manager 1.8 or higher installed. Here is the documentation on how to update the WebSphere fix pack:

http://www.ibm.com/support/docview.wss?uid=nas8N1019968

[{"Type":"MASTER","Line of Business":{"code":"LOB57","label":"Power"},"Business Unit":{"code":"BU058","label":"IBM Infrastructure w\/TPS"},"Product":{"code":"SWG60","label":"IBM i"},"Platform":[{"code":"PF012","label":"IBM i"}],"Version":"7.1.0"}]

Document Information

Modified date:
03 November 2021

UID

nas8N1022579