Upgrade to OpenEdge 11.7, 12.2 or later and migrate the Classic OpenEdge REST Web Application to the Progress Application Server for OpenEdge, first introduced in OpenEdge 11.5. PASOE is a platform that provides REST Web server support for Progress Applications which uses the familiar Tomcat server that is installed, configured and monitored as a Web Server. This issue will not occur with PASOE because the server is treated as a single entity.
While migrating from Classic to PASOE is not an immediate solution, to avoid the broken communication between the REST Service and the AppServer consider the following options after restarting the AppServer Broker:
Option 1: Re-enable the REST Service:
$ restman -name restmgr1 -appname YourRESTServiceName -disable
$ restman -name restmgr1 -appname YourRESTServiceName -enable
Option 2: Re-enable the REST Service:
Reload the REST Service by restarting the Java Container (e.g. Tomcat).
Option 3: Send a test request to the REST Service:
Script a dummy request to be sent to the REST Service on the restart of the app server to trigger the communication error. Since requests after the first one do not generate the error, this mechanism will allow for normal operation for subsequent requests after the restart.
Option 4: Send a command to Tomcat to unload and load a specific Service to avoid restarting the entire Tomcat server.
Example: Send a STOP then START command to the Service
- The admin user with the admin password to connect to the machine
- localhost running on port 8080 - hange localhost to the correct hostname or IP address and the 8080 port to use the current Tomcat management port
- Set the path value to path to the service managed by Tomcat
- Sent the stop command sent to /myapp service:
curl --user admin:admin http://localhost:8080/manager/text/stop?path=/myapp
- Then send the start command to the /myapp service:
curl --user admin:admin http://localhost:8080/manager/text/start?path=/myapp