Observability
Calls on SWIS endpoint breaks with error "405 Method Not Allowed" after upgrading to SolarWinds Platform 2024.2 and above
Starting with SolarWinds Platform 2024.2 and above, the SWIS TCP port has been changed from 17778 to 17774, by default. This change aims to enhance security and streamline network configurations.
First published date
Last published date
Overview
Logs would give similar wordings from below for the error message:
INFO SolarWinds.InformationService.Core.InformationServiceService - (null) (null) Trying to find swis REST endpoint certificate according certificate name: sanitized.orionurl.here 2024-01-22 10:11:03,559 [9] INFO SolarWinds.InformationService.Core.InformationServiceService - (null) (null) For safequard SWIS REST endpoint on address https://sanitized.orionurl.here:17774/SolarWinds/InformationService/v3/Json will be used certificate with name: 2024-01-22 10:11:03,559 [9] INFO SolarWinds.InformationService.Core.InformationServiceService - (null) (null) For safequard SWIS REST endpoint on address https://sanitized.orionurl.here:17774/SolarWinds/InformationService/v3/OrionBasic will be used certificate with name: sanitized.orionurl.here, 2024-01-22 10:11:03,574 [9] INFO SolarWinds.InformationService.Core.InformationServiceService - (null) (null) No sslcert http configuration for endpoint 0.0.0.0:17774 exists. Creating a new one. System.IO.FileNotFoundException: No SSL Certificate configuration for IP Endpoint 0.0.0.0:17774 could be found. ---> System.ComponentModel.Win32Exception (0x80004005): The system cannot find the file specified at SolarWinds.Orion.Common.HttpSys.DeleteSslCertConfig(IPEndPoint endpoint) at SolarWinds.InformationService.Core.InformationServiceService.AddHttpSysSslCertConfig(Int32 port, X509Certificate2 cert) 2024-01-22 10:11:03,590 [9] ERROR SolarWinds.InformationService.Core.InformationServiceService - (null) (null) Information Service failed to open a channel. System.ComponentModel.Win32Exception (0x80004005): A specified logon session does not exist. It may already have been terminated at SolarWinds.Orion.Common.HttpSys.AddSslCertConfig(Guid appId, IPEndPoint endpoint, Byte[] sslHash) at SolarWinds.InformationService.Core.InformationServiceService.AddHttpSysSslCertConfig(Int32 port, X509Certificate2 cert) at SolarWinds.InformationService.Core.InformationServiceService.SetupCertificateForRestEndpoints(ServiceHost serviceHost, Uri baseAddressInfoSvcOnly) at SolarWinds.InformationService.Core.InformationServiceService.CreateService(ServiceElement serviceElement, String dnsHostName, Uri baseAddress, Uri baseAddressInfoSvcOnly, WcfBootstrapper& bootstrapper) at SolarWinds.InformationService.Core.InformationServiceService.Start(InformationServiceSettings settings, String baseAddress, String baseAddressHttps, String configurationFile) 2024-01-22 10:11:03,621 [9] INFO SolarWinds.InformationService.Core.InformationServiceService - (null) (null) Information Service communication stopped.
Sending 'GET' request to URL : https://sanitized.orionurl.here:17778/SolarWinds/InformationService/v3/json/query?query=SELECT+NodeID,IPAddress,Caption,NodeDescription,Description,Severity,Status,StatusDescription,UnManaged+FROM+Orion.Nodes Sending 'GET' request to URL : https://sanitized.orionurl.here:17778/SolarWinds/InformationService/v3/json/query?query=SELECT+NodeID,IPAddress,Caption,NodeDescription,Description,Severity,Status,StatusDescription,UnManaged+FROM+Orion.Nodes 2024-04-22 19:17:22,565 [ceeview-0024 [SolarWindsHealthMonitor]] DEBUG com.ceesoft.ceeview.healthmonitor.solarwinds.UrlClient - Response Code : 405 2024-04-22 19:17:22,565 [ceeview-0024 [SolarWindsHealthMonitor]] DEBUG com.ceesoft.ceeview.healthmonitor.solarwinds.UrlClient - Response Message: Method Not Allowed 2024-04-22 19:17:22,565 [ceeview-0024 [SolarWindsHealthMonitor]] ERROR com.ceesoft.ceeview.healthmonitor.solarwinds.SolarWindsClient - Exception from getPageContent: request failed: Method Not Allowed com.ceesoft.ceeview.core.common.exceptions.ExecutionException: request failed: Method Not Allowed
(/SolarWinds/InformationService/v3/Json/Query) with code: 405
There was no endpoint listening at https://sanitized.orionurl.here:17778/SolarWinds/InformationService/v3/json/query?query=SELECT+NodeID,IPAddress,Caption,NodeDescription,Description,Severity,Status,StatusDescription,UnManaged+FROM+Orion.Nodes that could accept the message. This is often caused by an incorrect address or SOAP action. See InnerException, if present, for more details.
Product section
Cause
Refer to SolarWinds Platform 2024.2 Release notes.
Resolution
Update Custom Scripts:
Customers should modify their custom SWIS scripts to use port 17774 instead of 17778. This involves finding and replacing the port number in the script's configuration, only if the script explicitly indicates a port.Enable the New Port:
If updating the script is not feasible or if there are other dependencies, customers can re-enable the previous port by adjusting the settings in the HCO configuration.- Open the custom SWIS script.
- Locate the section where the port number is (if)specified.
- If the script explicitly indicates port 17778, change the port number to 17774.
- Save the script and test it to ensure it functions correctly with the new port configuration.
Steps to Re-enable the Old Port:
- In http://OrionHostname/Orion/admin/AdvancedConfiguration/global.aspx, configure the following settings:
- Set CertificateNameForSafeguardCommunicationOnSwisRestEndpoint to SolarWinds-Orion
- Uncheck DisableSwisRestEndpointOnPort17778
- Click SAVE
- Restart all Orion services from main and additional polling engine/web servers.