App Server Listening IP

The other day we had an app server that stopped responding to requests after it restarted. The domain was running, but our web server wasn’t able to talk to the app server. When we attempted to log in, we received the CHECK APPSERVER LOGS. THE SITE BOOTED WITH INTERNAL DEFAULT SETTINGS, BECAUSE OF: bea.jolt.ServiceException: Invalid Session error.

You can get this from a few errors:

  1. The Domain Connect Password doesn’t match.
  2. The Web Profile user or password is wrong (or locked).
  3. The app server domain is actually down.

But, none of these applied to us. We knew the domain was up, we hadn’t changed the Domain Connect Password, and the Web Profile user account was correct. I then ran a netstat -an command to make sure I could see the ports where listening. That’s when I found that our app server was listening on the wrong IP address.

In our environment, we have our regular IP addresses for the network, but our VM’s have a management network on a different IP range. The app server had booted up and was listening on the management network IP. I opened up the psappsrv.cfg file and the JSL and WSL listening IP’s were using the %PS_MACH% variable.

%PS_MACH%

The %PS_MACH% variable will grab the first network card’s IP address on the machine. With Windows, that’s not a consistent way to get the IP address if you have more than one netword card.

The fix is to assign an IP address to the JSL and WSL processes in the psappsrv.cfg file. You can assign a specific IP address using:

Address=//x.x.x.x

When assigning an IP address you have two options:

  • Listen to a specific IP address
  • Listen to all IP addresses

If you want to listen on all IP addresses, use 0.0.0.0 for the listening address value.

You may not want to do this if you have more than one network card on the machine. Often, the second (or more) network cards are for different networks that specific uses. In our case, the second network card was for VM management and I don’t want our app server accepting any connections from that network segment. Our network traffic should be limited to our internal PeopleSoft network segment. To do specify an IP, list the specific IP address you want your app server to listen on in the Address=// line.