How do I enable remote shutdown and restart of webMethods 8.2 Integration Server?

I am trying to remotely shutdown and restart webMethods Integration Server through sh script but I am unable to do so. I am getting the error “remote shutdown is disabled”.
Is there a way to enable remote shutdown/restart ?
I am using webMethods8.2 .

Thanks!!

Go to the IS console and check the port configurations ( Security > Ports > Edit Access Mode >). Check whether there is any restrictions on that particular port. Check the whether it is allow by default or deny by default.

if deny by default - have to add the server shutdown and restart option in the allowable list…

Thanks,
-Krish

After following the steps given by Krishna, please make use of executeOSCommand BIS and supply the input. Hope it will work out.

Thanks,

Thanks Krishna and MR for your reply.
I changed the ports to "Allow by default". The post I was using was already "Allowed by default", I changed the setting of the others as well.
When I try to restart the server remotely, it is successfully shutdown, but it restarts in "Safe mode". Have any suggestions to fix that ?

I can also see this error in the server.log : "Message not found for messageKey BAP.0000.00007 "

MR-> Whats "executeOSCommand BIS" ? I am new to webMethods so didn’t understand this.

Thanks!

If you have logged into remote server, with the help executeOSCommand Built-in service, you can run the command which you want to execute on the remote server.

Please tell me you wM version along with fix levels.

Welcome to Software AG webMethods !!!

Thanks,

Thanks ! :slight_smile:
We are not using VM. I am trying to remotely shutdown the IS from another linux server.

How can I use the executeOSCommand here ?

You do not need executeOSCommand for what you’re trying to do. You have a couple of main options:

(1) Connect to the Integration Server over HTTP (e.g. using curl or wget) and execute the wm.server.admin:shutdown service

(2) Connect to the Linux server over SSH and execute a command to shutdown the IS

When it comes to option (2), the command you execute will depend on whether you’re running the IS as a Linux service or not. If you’re not, then you’re simply going to execute IntegrationServer\bin\shutdown.sh.

Percio

Hey Percio, Thanks for your reply.
I am already executing IntegrationServer\bin\shutdown.sh , but when I try to execute IntegrationServer\bin\startup.sh the server is starting in safe mode.
Here is the error message I am getting :
2016-06-07 10:13:16 MDT [ISS.0025.0001C] Integration Server 8.2.2.0 Build 228
2016-06-07 10:13:16 MDT [ISS.0025.0006I] License Manager started
2016-06-07 10:13:17 MDT [ISS.0025.0050W] The JCE Unlimited Strength Jurisdiction Policy File was not found. Please install it.
2016-06-07 10:13:22 MDT [ISS.0025.0041I] FIPS mode not initialized
2016-06-07 10:13:23 MDT [BAP.0000.0003E] Message not found for messageKey BAP.0000.00003
2016-06-07 10:13:23 MDT [BAP.0000.0007E] Message not found for messageKey BAP.0000.00007
2016-06-07 10:13:23 MDT [BAP.0000.0003E] Message not found for messageKey BAP.0000.00003
2016-06-07 10:13:23 MDT [BAP.0000.0007E] Message not found for messageKey BAP.0000.00007
2016-06-07 10:13:23 MDT [ISS.0014.0029C] Master password failed a sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004C] Exception during retrievePassword(wm.is.admin.proxy.http), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004E] Exception during ProxySettings.retrievePassword(wm.is.admin.proxy.http), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004C] Exception during retrievePassword(wm.is.admin.proxy.secureHttp), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004E] Exception during ProxySettings.retrievePassword(wm.is.admin.proxy.secureHttp), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004C] Exception during retrievePassword(wm.is.admin.proxy.ftp), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [ISC.0077.0004E] Exception during ProxySettings.retrievePassword(wm.is.admin.proxy.ftp), type: com.wm.passman.PasswordSanityException, msg: [BAP.0100.00009] Cannot retrieve password after failed sanity check
2016-06-07 10:13:23 MDT [BAP.0000.0007E] Message not found for messageKey BAP.0000.00007
2016-06-07 10:13:23 MDT [ISS.0025.0043C] Integration Server started in Safe Mode
2016-06-07 10:13:23 MDT [ISS.0025.0017I] Repository Manager started

Can you please make sure file encoding is set or not on your Linux box, if not please set the LANG environment variable to en_US.UTF-8 (take the help of Linux administrators if required )and give a try your process. Update us once done.

Thanks,

Were you able to run it earlier ? Did you any changes like modifying any config files recently ?

Thanks,

I don’t have an 8.2 Linux instance with me. I do have an 8.2 Windows instance but I have not been able to reproduce your issue. The shutdown and startup scripts work fine for me. It sounds like a possible bug. If you have extended support, I recommend creating a ticket.

In the meantime, have you been able to restore your IS to working condition yet? If not, the IS Admin guide has a section called “When There Are Problems with the Master Password or Outbound Passwords at Startup”. You may also want to look at the files and directories under the config directory to make sure those didn’t get corrupted. Compare them to the files in the config/backup directory.

Once you have restored the IS to working condition:

(1) Try running the shutdown.sh script from inside the IntegrationServer directory. In other words, cd into the IntegrationServer directory first, then call bin/shutdown.sh. The 8.2 IS Admin guide makes this specific recommendation in section “Shutting Down the Integration Server from the Command Line.” Executing the script from other locations made no difference for me, but perhaps the Linux scripts are more sensitive to where the command is being issued from.

(2) Make sure the IS is completely down before issuing startup.sh. Again, for me, this made no difference. I tried to corrupt my files by calling startup.bat before the server was down, but the LOCKFILE prevented the server from starting so nothing was corrupted.

If none of this works, then try the other option I suggested: making an HTTP call to the Integration Server to shut it down. Of course, you will still need SSH to start it back up (unless, of course, you issue a restart instead of a shutdown).

Percio

MR: I checked with the linux team, the settings are already there.
This is a new script I am trying to run from a different server.

Percio: Thanks for your help. My IS is in working condition. I am able to restart it from its own server and from the web console. i am trying to restart it from a different server, as that is our business requirement. I am getting error while restarting from the different server. I am getting this error: “remote login not enabled”. Also, we don’t have extended support for 8.2 .

Let me know what you think.

Thanks!

At which step are you getting that error? When establishing the SSH connection? If so, then I’d reach out to your sys admin.

I am not getting an error in the ssh connection. I am getting error when I restart the server. Its starting in “safe mode” now.
Is there a way to restart the server in normal mode ?

Try the below command and see if it helps:

ssh -l

or

ssh @

Also note that if your Master Password is expired IS will start up in safe mode. Please check the IS administration guide for more details. I see from your logs the error "2016-06-07 10:13:23 MDT [ISS.0014.0029C] Master password failed a sanity check "

But what about the “remote login not enabled” error?

Anyway, are we talking about restarting the server with shutdown.sh followed by startup.sh? If so, then it should already be starting in normal mode. It does on my machine. If it doesn’t in yours, it could be a bug.

If starting from the web console works, then you can take the other approach I told you, i.e. calling wm.server.admin:shutdown over HTTP. That is basically what the web console is doing.

Percio

Hi,

I agree with Mahesh that your Master Password might have expired.

Can you check under "Security → Outbound Passwords" after IS started in Save mode?

Master Password expires every 90 days by default. You can choose to increase this period or to disable it (period=0).
As long as it expires it is recommended to change it BEFORE it has expired.

Regards,
Holger

I checked the settings for my master password, and it expires in 2017. So I don’t think that is an issue.
Also, as per our business requirements, I have to restart the server form another server on our network, so I cannot restart the server HTTP. Restarting from HTTP works fine.

I am using the following script to shutdown/startup my IS:

ssh userName@serverName “/opt/webMethods8/IntegrationServer/bin/shutdown.sh”

Response:
Changing working directory to /opt/webMethods8/IntegrationServer
Stopping a pure Java application…
Bootstrap: Shutting down remote platform at localhost:8045
Bootstrap: Waiting for the platform to shutdown: 20000
Bootstrap: Done waiting.

ssh userName@serverName "/opt/webMethods8/IntegrationServer/bin/startup.sh "

Response:
Changing working directory to /opt/webMethods8/IntegrationServer
Starting as an application using Java because it is not set to use Tanuki Wrapper.
Debug options:
file:/opt/webMethods8/profiles/IS/bin/.options loaded
Starting Integration Server
[Journal Logger Initializer] INFO: Reading config root “com.softwareag.platform.logging.configroot”
[Journal Logger Initializer] INFO: Resolved config root to “com.softwareag.platform.logging.configroot”.
Persistence bundle starting…
Persistence bundle started.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to add.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No IU properties to add.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to remove.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No IU properties to remove.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to move.
[p2] Tue Jun 14 15:52:23 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No extra requirements.
!SESSION 2016-06-14 15:52:21.328 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:52:39.980
!MESSAGE Loaded class ‘com.wm.app.b2b.server.ServiceException’ from ProxyService: 35

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:52:39.981
!MESSAGE Loaded class ‘com.wm.app.b2b.server.AccessException’ from ProxyService: 35

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:52:39.983
!MESSAGE Loaded class ‘com.wm.data.IData’ from ProxyService: 35

!ENTRY org.eclipse.osgi 2 0 2016-06-14 15:56:54.956
!MESSAGE Info: cycle(s) found while stopping bundles: [[com.ctc.wstx,javax.xml.stream],[com.softwareag.osgi.is.launcher,com.softwareag.osgi.is.proxy,com.softwareag.security.sin.xmlserver,com.softwareag.security.sin.xmlserver.thirdparty]].
Persistence bundle stopping…
Persistence bundle stopped.
[p2] Tue Jun 14 15:56:54 MDT 2016 - [System Bundle Shutdown] Unsaved preferences when shutting down org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager
Changing working directory to /opt/webMethods8/IntegrationServer
Starting as an application using Java because it is not set to use Tanuki Wrapper.
Debug options:
file:/opt/webMethods8/profiles/IS/bin/.options loaded
Starting Integration Server
[Journal Logger Initializer] INFO: Reading config root “com.softwareag.platform.logging.configroot”
[Journal Logger Initializer] INFO: Resolved config root to “com.softwareag.platform.logging.configroot”.
Persistence bundle starting…
Persistence bundle started.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to add.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No IU properties to add.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to remove.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No IU properties to remove.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No installable units to move.
[p2] Tue Jun 14 15:56:59 MDT 2016 - [Start Level Event Dispatcher] [reconciler] No extra requirements.
!SESSION 2016-06-14 15:56:56.496 -----------------------------------------------
eclipse.buildId=unknown
java.version=1.6.0_27
java.vendor=Sun Microsystems Inc.
BootLoader constants: OS=linux, ARCH=x86_64, WS=gtk, NL=en_US

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:57:15.082
!MESSAGE Loaded class ‘com.wm.app.b2b.server.ServiceException’ from ProxyService: 35

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:57:15.083
!MESSAGE Loaded class ‘com.wm.app.b2b.server.AccessException’ from ProxyService: 35

!ENTRY com.softwareag.platform.hook 0 0 2016-06-14 15:57:15.085
!MESSAGE Loaded class ‘com.wm.data.IData’ from ProxyService: 35

!ENTRY org.eclipse.osgi 2 0 2016-06-14 16:06:12.177
!MESSAGE Info: cycle(s) found while stopping bundles: [[com.ctc.wstx,javax.xml.stream],[com.softwareag.osgi.is.launcher,com.softwareag.osgi.is.proxy,com.softwareag.security.sin.xmlserver,com.softwareag.security.sin.xmlserver.thirdparty]].
Persistence bundle stopping…
Persistence bundle stopped.
[p2] Tue Jun 14 16:06:12 MDT 2016 - [System Bundle Shutdown] Unsaved preferences when shutting down org.eclipse.equinox.internal.p2.metadata.repository.MetadataRepositoryManager

Correct. An expired master password wouldn’t/shouldn’t cause your IS to come up in safe mode.

Regarding your comment:

You do realize you can issue an HTTP request from another server on your network, right? Like I mentioned in my initial post, you could use curl or wget for that purpose.

Anyway, the thing that is puzzling is the fact you’re saying startup.sh works fine when you’re on the server, right? It only puts the server in “safe mode” when you try to execute it from another server via SSH, is that correct?

A couple of things to try:

  1. Could it be a permissions issue? Are you running the command with a user that has access to all the configuration files? Can you try the -l command line option?

  2. Instead of using startup.sh, can you try to start the server with the more traditional command nohup /opt/webMethods8/IntegrationServer/bin/server.sh &?

Percio

Yes, startup.sh works fine when I am on the server, but when I try it from a different server, it doesn’t work and starts the IS in safe mode.

I tried the steps you suggested:

  1. ssh -l userName@serverName “/opt/webMethods8/IntegrationServer/bin/shutdown.sh”

Response:
ssh: Could not resolve hostname /opt/webMethods8/IntegrationServer/bin/shutdown.sh: Name or service not known

  1. server.sh gave me the same result as startup.sh i.e it started the IS in safe mode.

how can I use cURL or wget to restart the IS?